/*
Theme Name: Yen-Sao
Description: Child theme for Flatsome - Yến Sào Nguyễn Thị Lan Luxury Editorial Style
Author: Antigravity
Template: flatsome
Version: 3.1.0
*/

/* ==========================================================================
   GLOBAL TYPOGRAPHY & COLOR SYSTEM (Contemporary Heritage)
   ========================================================================== */
:root {
  --ynl-primary: #9E0027;
  --ynl-crimson: #C41E3A;
  --ynl-gold: #775A19;
  --ynl-gold-light: rgba(119, 90, 25, 0.20);
  --ynl-gold-border: rgba(119, 90, 25, 0.15);
  --ynl-porcelain: #FAF9F7;
  --ynl-porcelain-pure: #F9F8F6;
  --ynl-ink: #1A1A1A;
  --ynl-ink-muted: #5B4040;
  --ynl-shadow-diffuse: 0 10px 40px rgba(0, 0, 0, 0.04);
  --ynl-shadow-hover: 0 15px 45px rgba(0, 0, 0, 0.08);
}

body {
  background-color: var(--ynl-porcelain) !important;
  color: var(--ynl-ink) !important;
  font-family: 'Montserrat', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.heading-title,
.font-display {
  font-family: 'Playfair Display', serif !important;
  color: var(--ynl-ink);
  letter-spacing: -0.01em;
}

/* ==========================================================================
   FLATSOME HEADER CUSTOMIZATION (Luxury Glassmorphism & Gold border)
   ========================================================================== */
#header {
  border-bottom: 1px solid var(--ynl-gold-light);
  transition: all 0.3s ease;
}

.header-main {
  background-color: rgba(250, 249, 247, 0.94) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Constrain Header Logo strictly so it never overlaps or blows out */
#logo,
.header-logo,
.ynl-logo-wrap {
  display: flex !important;
  align-items: center !important;
  max-height: 52px !important;
  line-height: 1 !important;
}

#logo img,
.header-logo img,
.ynl-site-logo-img,
.header_logo {
  max-height: 48px !important;
  width: auto !important;
  max-width: 165px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 !important;
}

/* Ensure sticky header preserves perfect logo sizing */
.stuck #logo img,
.stuck .ynl-site-logo-img {
  max-height: 42px !important;
  max-width: 150px !important;
}

/* Main Navigation styling */
.header-nav > li > a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ynl-ink) !important;
  transition: color 0.25s ease;
  padding: 0 16px;
}

.header-nav > li.current-menu-item > a,
.header-nav > li > a:hover {
  color: var(--ynl-crimson) !important;
}

.header-nav > li.current-menu-item > a {
  border-bottom: 2px solid var(--ynl-crimson);
}

/* Header Action Icons: Search, Cart, Account */
.header-nav li.search-item,
.header-nav li.header-search,
.header-nav li.cart-item,
.header-nav li.account-item {
  margin: 0 5px;
}

.header-nav li.search-item > a,
.header-nav li.header-search > a,
.header-nav li.cart-item > a,
.header-nav li.account-item > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  border: 1px solid var(--ynl-gold-border) !important;
  background-color: #ffffff !important;
  color: var(--ynl-ink) !important;
  padding: 0 !important;
  transition: all 0.25s ease !important;
  position: relative !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
}

.header-nav li.search-item > a:hover,
.header-nav li.header-search > a:hover,
.header-nav li.cart-item > a:hover,
.header-nav li.account-item > a:hover,
.header-nav li.search-item.active > a,
.header-nav li.cart-item.active > a,
.header-nav li.account-item.active > a {
  border-color: var(--ynl-crimson) !important;
  color: var(--ynl-crimson) !important;
  background-color: rgba(196, 30, 58, 0.05) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(196, 30, 58, 0.18) !important;
}

.header-nav li.search-item i,
.header-nav li.header-search i,
.header-nav li.cart-item i,
.header-nav li.account-item i {
  font-size: 17px !important;
  line-height: 1 !important;
}

/* Cart Counter Badge (data-icon-label) */
.header-nav li.cart-item i[data-icon-label]:after,
.header-cart-link i[data-icon-label]:after,
.header-cart-link .cart-icon strong,
.cart-icon strong {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  min-width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  border-radius: 50% !important;
  top: -5px !important;
  right: -5px !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 6px rgba(196, 30, 58, 0.3) !important;
}

/* ==========================================================================
   HEADER DROPDOWNS (Search, Mini Cart, Account) - Luxury Heritage Style
   ========================================================================== */

/* Universal Dropdown Container */
.header-nav .nav-dropdown {
  background: #ffffff !important;
  border: 1px solid var(--ynl-gold-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.09) !important;
  padding: 16px !important;
  margin-top: 10px !important;
}

/* Search Dropdown & Form */
#ux-search-dropdown {
  width: 330px !important;
  padding: 18px !important;
}

#ux-search-dropdown .searchform {
  border: 1px solid rgba(119, 90, 25, 0.25) !important;
  border-radius: 50px !important;
  background-color: var(--ynl-porcelain) !important;
  padding: 3px 4px 3px 16px !important;
  display: flex !important;
  align-items: center !important;
  transition: all 0.25s ease !important;
}

#ux-search-dropdown .searchform:focus-within {
  border-color: var(--ynl-crimson) !important;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1) !important;
  background-color: #ffffff !important;
}

#ux-search-dropdown input.search-field {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 8px 10px 8px 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: var(--ynl-ink) !important;
  width: 100% !important;
  outline: none !important;
}

#ux-search-dropdown .ux-search-submit {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

#ux-search-dropdown .ux-search-submit:hover {
  background-color: var(--ynl-primary) !important;
  transform: scale(1.05);
}

#ux-search-dropdown .ux-search-submit i {
  font-size: 14px !important;
  color: #ffffff !important;
}

/* Cart Dropdown */
.cart-item .nav-dropdown {
  width: 320px !important;
  padding: 24px 20px !important;
  text-align: center !important;
}

.ux-mini-cart-empty {
  padding: 10px 0 !important;
}

.ux-mini-cart-empty-icon svg {
  color: var(--ynl-gold) !important;
  opacity: 0.35 !important;
  height: 60px !important;
  width: auto !important;
  margin-bottom: 12px !important;
}

.woocommerce-mini-cart__empty-message {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ynl-ink-muted) !important;
  margin: 10px 0 20px 0 !important;
}

.return-to-shop a.button {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  padding: 12px 24px !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.25) !important;
  transition: all 0.3s ease !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

.return-to-shop a.button:hover {
  background-color: var(--ynl-primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.35) !important;
}

/* Account Dropdown */
.account-item .nav-dropdown {
  min-width: 220px !important;
  padding: 8px 0 !important;
}

.account-item .nav-dropdown li a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--ynl-ink) !important;
  padding: 10px 20px !important;
  display: block !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  transition: all 0.2s ease !important;
  text-align: left !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.account-item .nav-dropdown li:last-child a {
  border-bottom: none !important;
}

.account-item .nav-dropdown li a:hover {
  background-color: rgba(119, 90, 25, 0.06) !important;
  color: var(--ynl-crimson) !important;
  padding-left: 24px !important;
  font-weight: 600 !important;
}

/* Header Action Button (Mua ngay) */
.ynl-header-cta {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 10px 22px !important;
  border-radius: 4px !important;
  border: none !important;
  margin-left: 8px;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.25) !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ynl-header-cta:hover {
  background-color: var(--ynl-primary) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.35) !important;
}

/* ==========================================================================
   BUTTONS (Soft 4px Radius & Editorial Borders)
   ========================================================================== */
.button.primary,
.button.checkout,
.ynl-btn-primary {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  border-radius: 4px !important;
  border: none !important;
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.2) !important;
  transition: all 0.3s ease !important;
  padding: 12px 30px !important;
}

.button.primary:hover,
.ynl-btn-primary:hover {
  background-color: var(--ynl-primary) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(196, 30, 58, 0.3) !important;
}

/* Luminous Royal Gold Button (Stand out on dark backgrounds & Hero banners) */
.ynl-btn-gold,
.button.ynl-btn-gold,
a.button.ynl-btn-gold {
  background: linear-gradient(135deg, #F3D079 0%, #D4AF37 50%, #B8860B 100%) !important;
  color: #1A1A1A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border: 1px solid #FFE082 !important;
  border-radius: 4px !important;
  padding: 12px 30px !important;
  box-shadow: 0 6px 22px rgba(212, 175, 55, 0.4) !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-shadow: none !important;
}

.ynl-btn-gold:hover,
.button.ynl-btn-gold:hover,
a.button.ynl-btn-gold:hover {
  background: linear-gradient(135deg, #FFF0A5 0%, #F3D079 100%) !important;
  color: #000000 !important;
  border-color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(212, 175, 55, 0.55) !important;
}

/* Outline / Secondary Button (Clean Crimson Border with White Text on Hover) */
.button.is-outline,
.button.outline,
.button.secondary,
.ynl-btn-secondary {
  background-color: transparent !important;
  color: var(--ynl-crimson) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border: 1.5px solid var(--ynl-crimson) !important;
  border-radius: 4px !important;
  padding: 12px 30px !important;
  transition: all 0.3s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.button.is-outline span,
.button.outline span,
.button.secondary span,
.ynl-btn-secondary span {
  color: inherit !important;
  transition: color 0.3s ease !important;
}

.button.is-outline:hover,
.button.outline:hover,
.button.secondary:hover,
.ynl-btn-secondary:hover {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff !important;
  border-color: var(--ynl-crimson) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.3) !important;
}

.button.is-outline:hover span,
.button.outline:hover span,
.button.secondary:hover span,
.ynl-btn-secondary:hover span {
  color: #ffffff !important;
}

/* ==========================================================================
   EDITORIAL SECTION LABELS & OVERLINES
   ========================================================================== */
.ynl-overline {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ynl-gold);
  margin-bottom: 8px;
}

.ynl-section-title {
  font-family: 'Playfair Display', serif;
  font-size: 38px;
  font-weight: 700;
  color: var(--ynl-ink);
  line-height: 1.2;
  margin-bottom: 12px;
}

.ynl-divider-line {
  width: 50px;
  height: 2px;
  background-color: var(--ynl-crimson);
  margin: 12px auto 30px;
}

/* ==========================================================================
   FEATURED PRODUCT CARDS (Homepage Grid - Equal Heights & Polished Fitting)
   ========================================================================== */
.ynl-home-prod-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  margin-bottom: 20px !important;
}

.ynl-home-prod-grid > .col {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 30px !important;
}

.ynl-home-prod-grid .col-inner {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.ynl-prod-card {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
  margin: 0 !important;
}

.ynl-prod-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09) !important;
  border-color: rgba(119, 90, 25, 0.35) !important;
}

/* Badges */
.ynl-card-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 10 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 4px !important;
  line-height: 1.2 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.ynl-badge-red,
.ynl-badge-crimson {
  background-color: #C41E3A !important;
  color: #ffffff !important;
}

.ynl-badge-gold {
  background-color: #D4AF37 !important;
  color: #1A1A1A !important;
}

.ynl-badge-teal {
  background-color: #0F5B46 !important;
  color: #ffffff !important;
}

/* Image container with fixed height and object-fit cover */
.ynl-card-img-wrap {
  width: 100% !important;
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
  background-color: #FAF9F7 !important;
  overflow: hidden !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

.ynl-home-prod-img {
  width: 100% !important;
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}

.ynl-prod-card:hover .ynl-home-prod-img {
  transform: scale(1.06) !important;
}

/* Card Body */
.ynl-card-body {
  padding: 22px 20px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  text-align: center !important;
  background: #ffffff !important;
}

.ynl-card-title {
  margin: 0 0 8px 0 !important;
  line-height: 1.3 !important;
  min-height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ynl-card-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}

.ynl-card-title a:hover {
  color: #C41E3A !important;
}

.ynl-card-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
  line-height: 1.5 !important;
  margin: 0 0 16px 0 !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ynl-card-footer {
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(119, 90, 25, 0.1) !important;
}

.ynl-card-footer p,
.ynl-card-body p.ynl-card-desc {
  margin-bottom: 0 !important;
}

.ynl-card-price {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 28px !important;
  flex-wrap: wrap !important;
}

.ynl-card-price del,
.ynl-card-price .ynl-card-old-price {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #8E8E93 !important;
  text-decoration: line-through !important;
  opacity: 0.75 !important;
}

.ynl-card-price ins {
  color: #C41E3A !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

.ynl-card-price .ynl-price-contact {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
}

.ynl-card-unit {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #71717A !important;
}

/* Card Button: Thêm vào giỏ / Liên hệ */
.ynl-card-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 16px !important;
  border: 1.5px solid #C41E3A !important;
  border-radius: 6px !important;
  background-color: transparent !important;
  color: #C41E3A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.ynl-card-btn:hover {
  background-color: #C41E3A !important;
  color: #ffffff !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.3) !important;
  transform: translateY(-2px) !important;
}

.ynl-card-btn-contact {
  border-color: #775A19 !important;
  color: #775A19 !important;
}

.ynl-card-btn-contact:hover {
  background-color: #775A19 !important;
  color: #ffffff !important;
  border-color: #775A19 !important;
  box-shadow: 0 6px 20px rgba(119, 90, 25, 0.3) !important;
}

.product-small .price .ynl-price-contact {
  font-size: 17px !important;
  color: #C41E3A !important;
  font-weight: 700 !important;
}

/* Link Xem tất cả sản phẩm */
.ynl-view-all-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid transparent !important;
  padding-bottom: 4px !important;
  transition: all 0.25s ease !important;
}

.ynl-view-all-link:hover {
  color: #C41E3A !important;
  border-bottom-color: #C41E3A !important;
  gap: 10px !important;
}

.ynl-product-card,
/* ==========================================================================
   PRODUCT CATALOG & SHOP STYLING (Flatsome / WooCommerce Integration)
   ========================================================================== */
.product-small.box {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin-bottom: 24px !important;
  text-align: center !important;
}

.product-small.box:hover {
  border-color: rgba(119, 90, 25, 0.35) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09) !important;
  transform: translateY(-6px) !important;
}

.product-small .box-image {
  background-color: #FAF9F7 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  position: relative !important;
}

.product-small .box-image img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.product-small:hover .box-image img {
  transform: scale(1.06) !important;
}

.product-small .box-text {
  padding: 20px 16px 18px !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.product-small .product-cat {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.product-small .product-title {
  margin: 0 0 8px 0 !important;
  line-height: 1.35 !important;
}

.product-small .product-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: color 0.25s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 48px !important;
}

.product-small .product-title a:hover {
  color: #C41E3A !important;
}

.product-small .price-wrapper .price,
.product-small .price,
.woocommerce-Price-amount,
.price {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  margin: 8px 0 12px !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

/* Original Regular Price when On Sale (Strikethrough Muted Black/Gray) */
.price del,
.price del .woocommerce-Price-amount,
.price del .amount,
del .woocommerce-Price-amount,
del .amount,
.product-small .price del,
.product-page-price del {
  font-size: 0.85em !important;
  font-weight: 400 !important;
  color: #8E8E93 !important;
  text-decoration: line-through !important;
  opacity: 0.75 !important;
  display: inline-block !important;
  margin-right: 4px !important;
}

/* Sale / Discount Price (Prominent Crimson Red) */
.price ins,
.price ins .woocommerce-Price-amount,
.price ins .amount,
ins .woocommerce-Price-amount,
ins .amount,
.product-small .price ins,
.product-page-price ins {
  font-size: 1em !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  text-decoration: none !important;
  display: inline-block !important;
}

/* Single Product Detail Page Price */
.product-info .price,
.single-product .product-summary .price,
.product-page-price {
  font-size: 24px !important;
  justify-content: flex-start !important;
  margin: 12px 0 20px !important;
}

.product-info .price del,
.single-product .product-summary .price del {
  font-size: 18px !important;
}

.product-info .price ins,
.single-product .product-summary .price ins {
  font-size: 26px !important;
}

.product-small .quick-view {
  background: #1A1A1A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 4px !important;
  padding: 8px 16px !important;
  transition: all 0.3s ease !important;
}

.product-small .quick-view:hover {
  background: #C41E3A !important;
  color: #ffffff !important;
}

/* ==========================================================================
   PRODUCT CATALOG SIDEBAR & TOOLBAR
   ========================================================================== */
.ynl-sidebar-card {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ynl-sidebar-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.15) !important;
  padding-bottom: 12px !important;
  margin: 0 0 16px 0 !important;
}

.ynl-sidebar-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ynl-sidebar-list li {
  margin-bottom: 8px !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.06) !important;
  padding-bottom: 8px !important;
}

.ynl-sidebar-list li:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.ynl-sidebar-list li a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #5B4040 !important;
  text-decoration: none !important;
  display: block !important;
  transition: all 0.25s ease !important;
}

.ynl-sidebar-list li.active a,
.ynl-sidebar-list li a:hover {
  color: #C41E3A !important;
  font-weight: 700 !important;
  padding-left: 4px !important;
}

.ynl-commit-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  font-size: 13px !important;
  color: #5B4040 !important;
  margin-bottom: 20px !important;
  font-family: 'Montserrat', sans-serif !important;
}

.ynl-commit-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.ynl-commit-check {
  color: #0F5B46 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

.ynl-sidebar-hotline {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: #FAF9F7 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  border: 1px dashed rgba(196, 30, 58, 0.3) !important;
}

.ynl-catalog-toolbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.15) !important;
  border-radius: 8px !important;
  padding: 14px 20px !important;
  margin-bottom: 24px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.02) !important;
}

/* Badge Tags on Product Cards */
.ynl-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 2px;
}
.ynl-badge-crimson { background: var(--ynl-crimson); color: #fff; }
.ynl-badge-gold { background: #fdd587; color: #785a19; }
.ynl-badge-teal { background: #005754; color: #fff; }

/* ==========================================================================
   SERVICES COMMITMENT BAR
   ========================================================================== */
.ynl-service-box {
  background: #ffffff;
  border: 1px solid var(--ynl-gold-border);
  border-radius: 6px;
  padding: 28px 20px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: var(--ynl-shadow-diffuse);
}

.ynl-service-box:hover {
  border-color: rgba(119, 90, 25, 0.4);
  transform: translateY(-3px);
  box-shadow: var(--ynl-shadow-hover);
}

.ynl-service-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--ynl-porcelain);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ynl-gold);
  margin-bottom: 16px;
  transition: all 0.3s ease;
}

.ynl-service-box:hover .ynl-service-icon {
  color: var(--ynl-crimson);
  background: #fff;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.15);
}

/* ==========================================================================
   CONSULTATION QUERY CTA BANNER
   ========================================================================== */
.ynl-query-section {
  background-color: var(--ynl-crimson) !important;
  color: #ffffff;
  padding: 45px 0;
}

.ynl-query-bar {
  background: #ffffff !important;
  border-radius: 50px !important;
  padding: 5px 6px 5px 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  max-width: 540px !important;
  width: 100% !important;
  margin: 0 0 0 auto !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.ynl-query-input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: var(--ynl-ink) !important;
  background: transparent !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 8px 12px 8px 0 !important;
  margin: 0 !important;
}

.ynl-query-btn {
  background: #1A1A1A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 40px !important;
  padding: 11px 24px !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  transition: all 0.3s ease !important;
}

.ynl-query-btn:hover {
  background: #9E0027 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   BLOG & NEWS POSTS (Heritage 3-Card Layout)
   ========================================================================== */
.ynl-blog-card {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin-bottom: 20px !important;
}

.ynl-blog-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09) !important;
  border-color: rgba(119, 90, 25, 0.35) !important;
}

.ynl-blog-img-wrap {
  width: 100% !important;
  overflow: hidden !important;
  background-color: #FAF9F7 !important;
  position: relative !important;
}

.ynl-blog-img-wrap .img-inner {
  transition: transform 0.5s ease !important;
}

.ynl-blog-card:hover .ynl-blog-img-wrap .img-inner {
  transform: scale(1.05) !important;
}

.ynl-blog-body {
  padding: 24px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  background: #ffffff !important;
}

.ynl-blog-cat {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #C41E3A !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.ynl-blog-title {
  margin: 0 0 10px 0 !important;
  line-height: 1.35 !important;
}

.ynl-blog-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.ynl-blog-title a:hover {
  color: #C41E3A !important;
}

.ynl-blog-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
  line-height: 1.6 !important;
  margin: 0 0 16px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.ynl-blog-readmore {
  margin-top: auto !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: all 0.25s ease !important;
}

.ynl-blog-readmore:hover {
  color: #C41E3A !important;
  gap: 8px !important;
}

/* Flatsome Native Blog Posts Grid Styling */
.post-item .box-blog-post,
.post-item .box {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin-bottom: 24px !important;
}

.post-item:hover .box-blog-post,
.post-item:hover .box {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09) !important;
  border-color: rgba(119, 90, 25, 0.35) !important;
}

.post-item .box-image {
  background-color: #FAF9F7 !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

.post-item .box-image .image-cover,
.post-item .box-image .image-zoom {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
}

.post-item .box-image .image-cover a {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.post-item .box-image .image-cover img,
.post-item .box-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}

.post-item:hover .box-image img {
  transform: scale(1.06) !important;
}

.post-item .box-text {
  padding: 22px 20px 20px !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.post-item .cat-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #C41E3A !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.post-item .post-title {
  margin: 0 0 10px 0 !important;
  line-height: 1.35 !important;
}

.post-item .post-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: color 0.25s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 48px !important;
}

.post-item .post-title a:hover {
  color: #C41E3A !important;
}

.post-item .post-meta {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: #71717A !important;
  margin-bottom: 12px !important;
}

.post-item .from_the_blog_excerpt {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
  line-height: 1.6 !important;
  margin: 0 0 16px 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 42px !important;
}

.post-item .button.is-outline {
  margin-top: auto !important;
  border: 1.5px solid #C41E3A !important;
  color: #C41E3A !important;
  background: transparent !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 8px 18px !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
}

.post-item .button.is-outline:hover {
  background-color: #C41E3A !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
  transform: translateY(-2px) !important;
}

/* ==========================================================================
   GLOBAL FOOTER (Heritage 4-Column Layout)
   ========================================================================== */
.ynl-footer {
  background-color: #efeeec !important;
  border-top: 1px solid rgba(119, 90, 25, 0.2) !important;
  padding: 60px 0 25px !important;
  color: #1A1A1A !important;
}

/* Constrain Footer Logo strictly */
.ynl-footer .ux_image,
.ynl-footer #logo,
.ynl-footer img {
  max-height: 46px !important;
  max-width: 155px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin-bottom: 16px !important;
}

.ynl-footer h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #1A1A1A !important;
  margin-bottom: 20px !important;
}

.ynl-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ynl-footer ul li {
  margin-bottom: 10px !important;
  line-height: 1.6 !important;
}

.ynl-footer ul li a {
  color: #5B4040 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.ynl-footer ul li a:hover {
  color: #C41E3A !important;
  padding-left: 4px !important;
}

.ynl-footer-contact-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  font-size: 14px !important;
  color: #5B4040 !important;
}

.ynl-footer-contact-row .material-symbols-outlined {
  color: #775A19 !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  flex-shrink: 0 !important;
}

.ynl-footer-social-btn {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(119, 90, 25, 0.3) !important;
  background-color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #775A19 !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  margin-right: 8px !important;
}

.ynl-footer-social-btn:hover {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.25) !important;
}

.ynl-footer-bottom {
  border-top: 1px solid rgba(119, 90, 25, 0.15) !important;
  margin-top: 40px !important;
  padding-top: 25px !important;
  text-align: center !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #71717A !important;
}

/* Material Symbols icon support */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined' !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  vertical-align: middle;
}

/* ==========================================================================
   SINGLE PRODUCT CONTENT & SHARE ICONS
   ========================================================================== */
.product-info .product-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}

.product-info .price-wrapper {
  margin-bottom: 20px !important;
}

.product-info .product-short-description {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #5B4040 !important;
  margin-bottom: 24px !important;
}

/* ==========================================================================
   SINGLE PRODUCT PAGE (Luxury Heritage Presentation in UX Builder)
   ========================================================================== */
.ynl-single-product-section,
.custom-product-page,
.single-product {
  background-color: #FAF9F7 !important;
}

/* Breadcrumbs Bar */
.ynl-breadcrumb-row {
  margin-bottom: 12px !important;
}

.ynl-single-product-section .ux_product_breadcrumbs,
.ynl-single-product-section .woocommerce-breadcrumb,
.ynl-product-breadcrumbs-bar .breadcrumbs {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #71717A !important;
  text-transform: none !important;
  margin: 0 !important;
}

.ynl-single-product-section .woocommerce-breadcrumb a,
.ynl-product-breadcrumbs-bar .breadcrumbs a {
  color: #71717A !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ynl-single-product-section .woocommerce-breadcrumb a:hover,
.ynl-product-breadcrumbs-bar .breadcrumbs a:hover {
  color: #C41E3A !important;
}

.ynl-single-product-section .woocommerce-breadcrumb .divider,
.ynl-product-breadcrumbs-bar .divider {
  color: #D4AF37 !important;
  margin: 0 8px !important;
}

/* Main Top Row (Gallery + Summary) Equal Height */
.ynl-product-main-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  margin-bottom: 30px !important;
}

/* Gallery Showcase Frame (Left Column) */
.ynl-gallery-col > .col-inner {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 14px !important;
  padding: 24px !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03) !important;
  position: relative !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.ynl-floating-prestige-badge {
  background: #C41E3A !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  padding: 6px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.35) !important;
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 10 !important;
}

.product-gallery .woocommerce-product-gallery__image img {
  border-radius: 10px !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* Product Presentation Card (Right Column) */
.ynl-summary-col > .col-inner {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 14px !important;
  padding: 32px 30px !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03) !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
}

.ynl-product-brand-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  color: #775A19 !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

.ynl-summary-col .product-title,
.ynl-single-prod-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.25 !important;
  margin: 0 0 12px 0 !important;
}

/* Social Proof & Rating Bar */
.ynl-social-proof-bar {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  margin-bottom: 18px !important;
  flex-wrap: wrap !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.1) !important;
}

.ynl-stars-rating {
  color: #D4AF37 !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.ynl-star-icon {
  letter-spacing: 2px !important;
  font-size: 14px !important;
}

.ynl-rating-score {
  color: #1A1A1A !important;
  font-size: 13px !important;
}

.ynl-proof-sep {
  color: #D4AF37 !important;
  opacity: 0.6 !important;
}

.ynl-sales-count {
  color: #5B4040 !important;
}

.ynl-sales-count strong {
  color: #1A1A1A !important;
}

.ynl-verified-tag {
  color: #2E7D32 !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Royal Price Box */
.ynl-royal-price-box {
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.2) !important;
  border-left: 4px solid #C41E3A !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 16px 20px !important;
  margin-bottom: 18px !important;
}

.ynl-price-main-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.ynl-price-val,
.ynl-price-val .amount,
.ynl-royal-price-box .price,
.ynl-royal-price-box .price .amount,
.product-info .price .amount {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  line-height: 1 !important;
  margin: 0 !important;
}

.ynl-price-tax-badge {
  background: rgba(119, 90, 25, 0.12) !important;
  color: #775A19 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.ynl-price-guarantee-note {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: #5B4040 !important;
  margin-top: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.ynl-price-guarantee-note i {
  color: #2E7D32 !important;
  font-size: 14px !important;
}

/* Product Short Description */
.ynl-product-short-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13.5px !important;
  color: #5B4040 !important;
  line-height: 1.65 !important;
  margin-bottom: 20px !important;
  padding-left: 14px !important;
  border-left: 2px solid rgba(119, 90, 25, 0.3) !important;
  font-style: italic !important;
}

/* Quantity, Add to Cart & Call CTA Row (Pixel-Perfect Alignment) */
.ynl-actions-cta-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 18px 0 !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

.ynl-add-to-cart-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
}

.ynl-add-to-cart-wrapper form.cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

.ynl-actions-cta-row .quantity.buttons_added {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  height: 46px !important;
}

.ynl-actions-cta-row .quantity.buttons_added input.button.is-form {
  width: 36px !important;
  height: 46px !important;
  min-height: 46px !important;
  line-height: 44px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 6px !important;
  vertical-align: middle !important;
}

.ynl-actions-cta-row .quantity.buttons_added input.qty {
  width: 44px !important;
  height: 46px !important;
  min-height: 46px !important;
  line-height: 46px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 6px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.ynl-add-to-cart-wrapper .single_add_to_cart_button.button {
  height: 46px !important;
  min-height: 46px !important;
  line-height: 46px !important;
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 18px !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
  vertical-align: middle !important;
  transition: all 0.3s ease !important;
}

.ynl-add-to-cart-wrapper .single_add_to_cart_button.button:hover {
  background-color: #9E0027 !important;
  border-color: #9E0027 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35) !important;
}

/* Call Button Placed Next to Add to Cart */
.ynl-btn-call-inline {
  height: 46px !important;
  min-height: 46px !important;
  line-height: 43px !important;
  background-color: #FAF9F7 !important;
  border: 1.5px solid #775A19 !important;
  color: #775A19 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

.ynl-btn-call-inline i {
  font-size: 13px !important;
  color: #C41E3A !important;
  transition: color 0.3s ease !important;
}

.ynl-btn-call-inline:hover {
  background-color: #775A19 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(119, 90, 25, 0.25) !important;
}

.ynl-btn-call-inline:hover i {
  color: #ffffff !important;
}

/* Editorial Tabs Column (Bottom Left) */
.ynl-tabs-col > .col-inner {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 32px 30px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

/* Sidebar Column (Bottom Right) */
.ynl-sidebar-col > .col-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.ynl-btn-call-inline i {
  font-size: 14px !important;
  color: #C41E3A !important;
  transition: color 0.3s ease !important;
}

.ynl-btn-call-inline:hover {
  background-color: #775A19 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(119, 90, 25, 0.25) !important;
}

.ynl-btn-call-inline:hover i {
  color: #ffffff !important;
}

/* ==========================================================================
   0 VND / CONTACT ONLY PRODUCT STYLES
   ========================================================================== */
.ynl-price-contact {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  line-height: 1 !important;
  display: inline-block !important;
  letter-spacing: 0.02em !important;
}

.price .ynl-price-contact,
.ynl-royal-price-box .ynl-price-contact {
  font-size: 26px !important;
  color: #C41E3A !important;
}

.ynl-contact-product-cta-bar {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 20px 0 !important;
  width: 100% !important;
  flex-wrap: wrap !important;
}

.ynl-btn-contact-call {
  height: 48px !important;
  background-color: #C41E3A !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
  flex: 1 1 200px !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.ynl-btn-contact-call:hover {
  background-color: #9E0027 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35) !important;
}

.ynl-btn-contact-zalo {
  height: 48px !important;
  background-color: #0068FF !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(0, 104, 255, 0.2) !important;
  flex: 1 1 200px !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.ynl-btn-contact-zalo:hover {
  background-color: #0052CC !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(0, 104, 255, 0.3) !important;
}

.ynl-btn-loop-contact {
  background-color: #775A19 !important;
  border-color: #775A19 !important;
  color: #ffffff !important;
}

.ynl-btn-loop-contact:hover {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
}

/* The 4-Pillar Royal Guarantee Matrix Widget (Sidebar Right) */
.ynl-widget-commitment {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ynl-widget-commitment .ynl-matrix-header {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
  color: #775A19 !important;
}

.ynl-widget-commitment .ynl-matrix-header i {
  color: #D4AF37 !important;
  font-size: 16px !important;
}

.ynl-widget-commitment .ynl-matrix-header h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  margin: 0 !important;
}

.ynl-matrix-grid-vertical {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.ynl-matrix-grid-vertical .ynl-matrix-item {
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.15) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  transition: all 0.25s ease !important;
}

.ynl-matrix-grid-vertical .ynl-matrix-item:hover {
  border-color: rgba(196, 30, 58, 0.35) !important;
  background: #ffffff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
  transform: translateY(-1px) !important;
}

.ynl-matrix-grid-vertical .ynl-m-icon-box {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: rgba(119, 90, 25, 0.1) !important;
  color: #775A19 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  flex-shrink: 0 !important;
  transition: all 0.25s ease !important;
}

.ynl-matrix-grid-vertical .ynl-matrix-item:hover .ynl-m-icon-box {
  background: #C41E3A !important;
  color: #ffffff !important;
}

.ynl-matrix-grid-vertical .ynl-m-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.ynl-matrix-grid-vertical .ynl-m-text strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.25 !important;
}

.ynl-matrix-grid-vertical .ynl-m-text span {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  color: #71717A !important;
  line-height: 1.35 !important;
}

/* Product Meta */
.ynl-single-meta {
  border-top: 1px solid rgba(119, 90, 25, 0.12) !important;
  padding-top: 16px !important;
  margin-top: 20px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
}

.ynl-single-meta a {
  color: #775A19 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.ynl-single-meta a:hover {
  color: #C41E3A !important;
}

/* ==========================================================================
   PRODUCT EDITORIAL CONTENT & TABS (Bottom Split)
   ========================================================================== */
.ynl-product-footer-split {
  padding-top: 50px !important;
  margin-top: 50px !important;
}

.ynl-editorial-card,
.ynl-tabs-wrapper {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 40px 35px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

/* Tabs Header */
.woocommerce-tabs ul.tabs.product-tabs {
  border-bottom: 2px solid rgba(119, 90, 25, 0.12) !important;
  margin-bottom: 28px !important;
  display: flex !important;
  gap: 8px !important;
  padding: 0 !important;
}

.woocommerce-tabs ul.tabs.product-tabs li {
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.woocommerce-tabs ul.tabs.product-tabs li a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #71717A !important;
  padding: 14px 22px !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  background: transparent !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
}

.woocommerce-tabs ul.tabs.product-tabs li.active a,
.woocommerce-tabs ul.tabs.product-tabs li a:hover {
  color: #C41E3A !important;
  border-bottom-color: #C41E3A !important;
  background: transparent !important;
}

/* Tab Panels & Editorial Typography */
.woocommerce-tabs .tab-panels {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.85 !important;
  color: #3A3A3C !important;
}

.woocommerce-tabs .tab-panels h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  border-bottom: 2px solid rgba(119, 90, 25, 0.15) !important;
  padding-bottom: 10px !important;
  margin: 32px 0 16px 0 !important;
  line-height: 1.35 !important;
}

.woocommerce-tabs .tab-panels h2:first-of-type {
  margin-top: 0 !important;
}

.woocommerce-tabs .tab-panels h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #775A19 !important;
  margin: 24px 0 12px 0 !important;
}

.woocommerce-tabs .tab-panels p {
  line-height: 1.85 !important;
  margin-bottom: 16px !important;
  text-align: justify !important;
}

.woocommerce-tabs .tab-panels ul,
.woocommerce-tabs .tab-panels ol {
  padding-left: 22px !important;
  margin-bottom: 20px !important;
}

.woocommerce-tabs .tab-panels li {
  margin-bottom: 6px !important;
  line-height: 1.8 !important;
}

/* Specialist Consultant Card (Right Sidebar) */
.ynl-widget-consultant {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 26px 22px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ynl-consultant-header {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

.ynl-consultant-avatar {
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  border: 2px solid #D4AF37 !important;
  overflow: hidden !important;
  background: #FAF9F7 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 3px 10px rgba(119, 90, 25, 0.12) !important;
}

.ynl-consultant-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}

.ynl-consultant-name {
  font-family: 'Playfair Display', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin: 0 0 2px 0 !important;
}

.ynl-consultant-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #775A19 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  display: block !important;
}

.ynl-consultant-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #5B4040 !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}

.ynl-consultant-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.ynl-btn-consult-call {
  height: 42px !important;
  background-color: #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  box-shadow: 0 3px 12px rgba(196, 30, 58, 0.25) !important;
  transition: all 0.25s ease !important;
}

.ynl-btn-consult-call:hover {
  background-color: #9E0027 !important;
  color: #ffffff !important;
}

.ynl-btn-consult-zalo {
  height: 42px !important;
  background-color: rgba(0, 104, 255, 0.06) !important;
  border: 1.5px solid #0068FF !important;
  color: #0068FF !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
}

.ynl-btn-consult-zalo:hover {
  background-color: #0068FF !important;
  color: #ffffff !important;
}

/* Recent Products Showcase Widget */
.ynl-widget-recent {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ynl-widget-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.12) !important;
  padding-bottom: 12px !important;
  margin: 0 0 16px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.ynl-widget-title .material-symbols-outlined {
  color: #C41E3A !important;
  font-size: 20px !important;
}

.ynl-recent-products-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.ynl-recent-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
}

.ynl-recent-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.ynl-recent-thumb {
  width: 64px !important;
  height: 64px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  border: 1px solid rgba(119, 90, 25, 0.12) !important;
  display: block !important;
  background-color: #FAF9F7 !important;
}

.ynl-recent-thumb-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.ynl-recent-item:hover .ynl-recent-thumb-img {
  transform: scale(1.08) !important;
}

.ynl-recent-info {
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}

.ynl-recent-title {
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.ynl-recent-title a {
  font-family: 'Playfair Display', serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-align: left !important;
}

.ynl-recent-title a:hover {
  color: #C41E3A !important;
}

.ynl-recent-price {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  text-align: left !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: baseline !important;
  width: 100% !important;
  margin: 0 !important;
}

.ynl-recent-price .amount,
.ynl-recent-price .price {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  text-align: left !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}

/* Reviews Tab & Form Styling */
.woocommerce-Reviews #comments h3,
.woocommerce-Reviews-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 16px !important;
}

.woocommerce-Reviews #reply-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 20px !important;
}

.woocommerce-Reviews .comment-form-rating label,
.woocommerce-Reviews .comment-form-comment label,
.woocommerce-Reviews .comment-form-author label,
.woocommerce-Reviews .comment-form-email label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.woocommerce-Reviews input[type="text"],
.woocommerce-Reviews input[type="email"],
.woocommerce-Reviews select,
.woocommerce-Reviews textarea {
  border: 1px solid rgba(119, 90, 25, 0.25) !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  background: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-Reviews input#submit,
.woocommerce-Reviews .submit,
#review_form #respond input#submit {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 12px 28px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
}

.woocommerce-Reviews input#submit:hover,
.woocommerce-Reviews .submit:hover,
#review_form #respond input#submit:hover {
  background-color: #9E0027 !important;
  border-color: #9E0027 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35) !important;
}

.woocommerce-noreviews {
  font-family: 'Montserrat', sans-serif !important;
  color: #71717A !important;
  font-style: italic !important;
  margin-bottom: 20px !important;
}

/* Related Products Wrap */
.ynl-related-products-wrapper {
  margin-top: 50px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(119, 90, 25, 0.15) !important;
}

.ynl-related-products-wrapper h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
  margin-bottom: 30px !important;
}

/* ==========================================================================
   SINGLE BLOG POST (Content Blog Luxury Heritage Layout)
   ========================================================================== */
.ynl-single-post-wrapper {
  padding-top: 40px !important;
  padding-bottom: 80px !important;
  background-color: #FAF9F7 !important;
}

.ynl-single-post-container {
  max-width: 1200px !important;
}

/* Single Blog Breadcrumb */
.ynl-blog-breadcrumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 6px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
  margin: 0 auto 22px auto !important;
  flex-wrap: wrap !important;
}

.ynl-blog-breadcrumb a {
  color: #71717A !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ynl-blog-breadcrumb a:hover {
  color: #C41E3A !important;
}

.ynl-bc-sep {
  font-size: 14px !important;
  color: #A1A1AA !important;
}

.ynl-blog-breadcrumb .current-post {
  color: #C41E3A !important;
  font-weight: 600 !important;
}

/* Single Header */
.ynl-single-header {
  text-align: center !important;
  max-width: 860px !important;
  margin: 0 auto 35px auto !important;
}

.ynl-single-cat-badge {
  display: inline-block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  border: 1px solid rgba(119, 90, 25, 0.3) !important;
  background-color: #ffffff !important;
  padding: 4px 14px !important;
  border-radius: 30px !important;
  margin-bottom: 16px !important;
}

.ynl-single-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  line-height: 1.3 !important;
  margin-bottom: 18px !important;
}

.ynl-single-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #71717A !important;
}

.ynl-meta-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.ynl-meta-item .material-symbols-outlined {
  font-size: 16px !important;
  color: #775A19 !important;
}

.ynl-meta-dot {
  color: #D4AF37 !important;
}

/* Featured Hero Image */
.ynl-single-featured-image {
  width: 100% !important;
  max-height: 520px !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 45px !important;
  border: 1px solid rgba(119, 90, 25, 0.15) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.05) !important;
  background-color: #FAF9F7 !important;
}

.ynl-hero-img {
  width: 100% !important;
  height: 100% !important;
  max-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Article Body Container */
.ynl-single-article-col {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 40px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.ynl-single-entry-content {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: #4A3B32 !important;
}

.ynl-single-entry-content p {
  margin-bottom: 20px !important;
  line-height: 1.85 !important;
}

.ynl-single-entry-content p:first-of-type {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  line-height: 1.7 !important;
}

.ynl-single-entry-content h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-top: 36px !important;
  margin-bottom: 16px !important;
  line-height: 1.35 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.15) !important;
  padding-bottom: 10px !important;
}

.ynl-single-entry-content h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #775A19 !important;
  margin-top: 24px !important;
  margin-bottom: 12px !important;
  line-height: 1.35 !important;
}

.ynl-single-entry-content ul,
.ynl-single-entry-content ol {
  padding-left: 24px !important;
  margin-bottom: 24px !important;
}

.ynl-single-entry-content li {
  margin-bottom: 8px !important;
  line-height: 1.75 !important;
}

.ynl-single-entry-content blockquote {
  background: #FAF9F7 !important;
  border-left: 4px solid #C41E3A !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 20px 24px !important;
  margin: 30px 0 !important;
  font-style: italic !important;
  color: #5B4040 !important;
  font-size: 16px !important;
}

.ynl-single-entry-content img {
  border-radius: 8px !important;
  border: 1px solid rgba(119, 90, 25, 0.12) !important;
  margin: 20px 0 !important;
}

/* Social Share Bar */
.ynl-single-share-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 0 !important;
  margin-top: 30px !important;
  border-top: 1px solid rgba(119, 90, 25, 0.15) !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.15) !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.ynl-share-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #775A19 !important;
}

/* Author Box */
.ynl-author-box {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 24px !important;
  margin-top: 30px !important;
}

.ynl-author-avatar {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 2px solid #D4AF37 !important;
  flex-shrink: 0 !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  box-shadow: 0 4px 14px rgba(119, 90, 25, 0.12) !important;
}

.ynl-author-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

.ynl-author-name {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin: 0 0 6px 0 !important;
}

.ynl-author-bio {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #5B4040 !important;
  margin: 0 !important;
}

/* Recent Blog Widget Date */
.ynl-recent-date {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: #71717A !important;
}

/* Related Posts Section (Bottom) */
.ynl-related-posts-section {
  margin-top: 70px !important;
  padding-top: 50px !important;
  border-top: 1px solid rgba(119, 90, 25, 0.18) !important;
}

.ynl-related-header {
  margin-bottom: 35px !important;
}

/* ==========================================================================
   CONTACT PAGE (Lien He Luxury Heritage Layout)
   ========================================================================== */
.ynl-contact-info-card,
.ynl-contact-form-card {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 40px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  height: 100% !important;
}

.ynl-contact-card-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin: 8px 0 12px 0 !important;
  line-height: 1.3 !important;
}

.ynl-contact-card-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #5B4040 !important;
  margin-bottom: 30px !important;
}

/* Contact Items List */
.ynl-contact-items-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.ynl-contact-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.ynl-contact-icon-box {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 50% !important;
  background: #FAF9F7 !important;
  border: 1.5px solid rgba(119, 90, 25, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #775A19 !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
}

.ynl-contact-icon-box .material-symbols-outlined {
  font-size: 20px !important;
}

.ynl-contact-item:hover .ynl-contact-icon-box {
  background: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.25) !important;
}

.ynl-contact-item-text {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 1px !important;
}

.ynl-contact-item-text br {
  display: none !important;
}

.ynl-contact-item-text p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}

.ynl-contact-item-lbl {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.15 !important;
}

.ynl-contact-item-val {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  line-height: 1.25 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ynl-contact-phone {
  font-size: 17px !important;
  color: #C41E3A !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.ynl-contact-email:hover,
.ynl-contact-phone:hover {
  color: #9E0027 !important;
}

/* Contact Form 7 Styling */
.ynl-contact-form-card,
.ynl-contact-info-card {
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.ynl-contact-form-card:hover,
.ynl-contact-info-card:hover {
  border-color: rgba(119, 90, 25, 0.35) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05) !important;
}

.ynl-cf7-container {
  margin-top: 10px !important;
}

.ynl-cf7-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}

.ynl-cf7-field {
  margin-bottom: 18px !important;
}

.ynl-cf7-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.ynl-cf7-label .required {
  color: #C41E3A !important;
}

.ynl-cf7-input,
.ynl-cf7-textarea,
.ynl-contact-form-card input[type="text"],
.ynl-contact-form-card input[type="tel"],
.ynl-contact-form-card input[type="email"],
.ynl-contact-form-card textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 1.5px solid rgba(119, 90, 25, 0.22) !important;
  border-radius: 6px !important;
  background-color: #FAF9F7 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
}

.ynl-cf7-textarea,
.ynl-contact-form-card textarea,
.wpcf7 textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* Eliminate Black Hover Effect on Form Inputs */
.ynl-cf7-input:hover,
.ynl-cf7-textarea:hover,
.ynl-contact-form-card input[type="text"]:hover,
.ynl-contact-form-card input[type="tel"]:hover,
.ynl-contact-form-card input[type="email"]:hover,
.ynl-contact-form-card textarea:hover,
.wpcf7 input[type="text"]:hover,
.wpcf7 input[type="tel"]:hover,
.wpcf7 input[type="email"]:hover,
.wpcf7 textarea:hover {
  background-color: #ffffff !important;
  border-color: #C41E3A !important;
  box-shadow: 0 2px 10px rgba(196, 30, 58, 0.08) !important;
  outline: none !important;
  color: #1A1A1A !important;
}

.ynl-cf7-input:focus,
.ynl-cf7-textarea:focus,
.ynl-contact-form-card input[type="text"]:focus,
.ynl-contact-form-card input[type="tel"]:focus,
.ynl-contact-form-card input[type="email"]:focus,
.ynl-contact-form-card textarea:focus,
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
  background-color: #ffffff !important;
  border-color: #C41E3A !important;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.12) !important;
  outline: none !important;
  color: #1A1A1A !important;
}

.ynl-cf7-submit-wrap {
  margin-top: 10px !important;
}

.ynl-cf7-submit,
.wpcf7 input[type="submit"] {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
  border: none !important;
  display: inline-block !important;
}

.ynl-cf7-submit:hover,
.wpcf7 input[type="submit"]:hover {
  background-color: #9E0027 !important;
  border-color: #9E0027 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35) !important;
}

/* Map Section */
.ynl-contact-map-wrapper {
  position: relative !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}

.ynl-map-badge {
  position: absolute !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(119, 90, 25, 0.3) !important;
  color: #C41E3A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 10px 24px !important;
  border-radius: 30px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
  white-space: nowrap !important;
}

.ynl-map-badge .material-symbols-outlined {
  color: #C41E3A !important;
  font-size: 20px !important;
}

/* ==========================================================================
   CART PAGE & CHECKOUT FLOW (Luxury Heritage Layout)
   ========================================================================== */
.page-cart,
.woocommerce-cart {
  background-color: #FAF9F7 !important;
}

/* Breadcrumb Checkout Steps Header */
.checkout-breadcrumbs,
.page-checkout-simple .checkout-breadcrumbs {
  margin: 30px auto 40px auto !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  flex-wrap: wrap !important;
}

.checkout-breadcrumbs a,
.checkout-breadcrumbs span {
  color: #8E8E93 !important;
  transition: color 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.checkout-breadcrumbs a.current,
.checkout-breadcrumbs .current {
  color: #C41E3A !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #C41E3A !important;
  padding-bottom: 4px !important;
}

.checkout-breadcrumbs .divider {
  color: #D4AF37 !important;
  opacity: 0.6 !important;
}

/* Cart Table Wrapper & Form */
.woocommerce-cart-form {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 30px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 30px !important;
}

table.cart {
  border: none !important;
  margin-bottom: 25px !important;
  width: 100% !important;
}

table.cart th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  border-top: none !important;
  border-bottom: 2px solid rgba(119, 90, 25, 0.15) !important;
  padding: 14px 10px !important;
}

table.cart td {
  padding: 20px 10px !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  vertical-align: middle !important;
}

/* Product Remove Button */
table.cart td.product-remove a.remove {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #8E8E93 !important;
  border: 1px solid rgba(142, 142, 147, 0.3) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transition: all 0.25s ease !important;
}

table.cart td.product-remove a.remove:hover {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
}

/* Product Thumbnail */
table.cart td.product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(119, 90, 25, 0.15) !important;
  object-fit: cover !important;
}

/* Product Name */
table.cart td.product-name a {
  font-family: 'Playfair Display', serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: color 0.2s ease !important;
}

table.cart td.product-name a:hover {
  color: #C41E3A !important;
}

/* Product Price & Subtotal */
table.cart td.product-price,
table.cart td.product-subtotal,
table.cart .amount {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
}

/* Quantity Input in Cart with Space Between Buttons */
.woocommerce .quantity,
.quantity.buttons_added {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

.woocommerce .quantity input.minus,
.woocommerce .quantity input.plus,
.quantity.buttons_added input.button.is-form,
.quantity.buttons_added .button {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 6px !important;
  background-color: #FAF9F7 !important;
  border: 1.5px solid rgba(119, 90, 25, 0.25) !important;
  color: #775A19 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.woocommerce .quantity input.minus:hover,
.woocommerce .quantity input.plus:hover,
.quantity.buttons_added input.button.is-form:hover {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
}

.woocommerce .quantity input.qty,
.quantity.buttons_added input.qty {
  width: 48px !important;
  height: 36px !important;
  border-radius: 6px !important;
  background-color: #ffffff !important;
  border: 1.5px solid rgba(119, 90, 25, 0.25) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.woocommerce .quantity input.qty:focus {
  border-color: #C41E3A !important;
  box-shadow: 0 0 0 2px rgba(196, 30, 58, 0.1) !important;
  outline: none !important;
}

/* Coupon & Update Cart Actions - Equal Standard Buttons */
.cart-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  padding-top: 15px !important;
}

.continue-shopping {
  margin: 0 !important;
}

/* Continue Shopping Button */
.button-continue-shopping,
.continue-shopping a,
.continue-shopping a.button {
  height: 46px !important;
  min-height: 46px !important;
  line-height: 44px !important;
  background-color: #ffffff !important;
  border: 1.5px solid #C41E3A !important;
  color: #C41E3A !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  text-decoration: none !important;
}

.button-continue-shopping:hover,
.continue-shopping a:hover {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.2) !important;
}

/* Update Cart Button (Fix Faded Red / Pink Opacity) */
button[name="update_cart"],
button[name="update_cart"]:disabled,
button[name="update_cart"][disabled],
button[name="update_cart"]:disabled:hover {
  height: 46px !important;
  min-height: 46px !important;
  line-height: 44px !important;
  background-color: #C41E3A !important;
  border: 1.5px solid #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(196, 30, 58, 0.2) !important;
}

button[name="update_cart"]:hover {
  background-color: #9E0027 !important;
  border-color: #9E0027 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(196, 30, 58, 0.3) !important;
}

/* Cart Sidebar & Coupon Form */
.cart-sidebar .ux-cart-coupon {
  margin-top: 20px !important;
}

.cart-sidebar .ux-cart-coupon .widget-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.cart-sidebar .ux-cart-coupon input.input-text,
.cart-actions .coupon input.input-text {
  height: 46px !important;
  min-height: 46px !important;
  border: 1.5px solid rgba(119, 90, 25, 0.25) !important;
  border-radius: 6px !important;
  background-color: #FAF9F7 !important;
  padding: 0 16px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  margin-bottom: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.cart-sidebar .ux-cart-coupon input.input-text:focus,
.cart-actions .coupon input.input-text:focus {
  background-color: #ffffff !important;
  border-color: #C41E3A !important;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1) !important;
  outline: none !important;
}

/* Apply Coupon Button */
.cart-sidebar .ux-cart-coupon button.button,
.cart-sidebar .ux-cart-coupon button[name="apply_coupon"],
.cart-actions .coupon button.button,
.cart-actions .coupon button[name="apply_coupon"] {
  height: 46px !important;
  min-height: 46px !important;
  line-height: 44px !important;
  background-color: #775A19 !important;
  border: 1.5px solid #775A19 !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.cart-sidebar .ux-cart-coupon button.button:hover,
.cart-sidebar .ux-cart-coupon button[name="apply_coupon"]:hover,
.cart-actions .coupon button.button:hover,
.cart-actions .coupon button[name="apply_coupon"]:hover {
  background-color: #5B4040 !important;
  border-color: #5B4040 !important;
  color: #ffffff !important;
}

/* Cart Totals Sidebar Card */
.cart_totals,
.cart-sidebar .cart-sidebar-inner {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.22) !important;
  border-radius: 12px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.04) !important;
}

.cart_totals h2,
.cart_totals .cart-sidebar-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  border-bottom: 2px solid rgba(119, 90, 25, 0.15) !important;
  padding-bottom: 14px !important;
  margin-bottom: 20px !important;
}

.cart_totals table.shop_table {
  border: none !important;
  margin-bottom: 24px !important;
  width: 100% !important;
}

.cart_totals table.shop_table th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #5B4040 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  padding: 14px 0 !important;
}

.cart_totals table.shop_table td {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  text-align: right !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  padding: 14px 0 !important;
}

.cart_totals tr.order-total th {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  border-bottom: none !important;
  padding-top: 18px !important;
}

.cart_totals tr.order-total td {
  border-bottom: none !important;
  padding-top: 18px !important;
}

.cart_totals tr.order-total td .amount,
.cart_totals tr.order-total strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
}

/* Proceed to Checkout CTA Button */
.wc-proceed-to-checkout .checkout-button.button,
a.checkout-button.button {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  line-height: 46px !important;
  background-color: #C41E3A !important;
  border: 1.5px solid #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
  text-align: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 18px rgba(196, 30, 58, 0.3) !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.wc-proceed-to-checkout .checkout-button.button:hover,
a.checkout-button.button:hover {
  background-color: #9E0027 !important;
  border-color: #9E0027 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.4) !important;
}

/* Empty Cart State */
.cart-empty,
.woocommerce .cart-empty {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 50px 30px !important;
  text-align: center !important;
  max-width: 650px !important;
  margin: 40px auto 30px auto !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.cart-empty p,
p.cart-empty {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 25px !important;
}

p.return-to-shop a.button {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 14px 36px !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
}

p.return-to-shop a.button:hover {
  background-color: #9E0027 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.35) !important;
}

/* ==========================================================================
   CHECKOUT PAGE (Luxury Heritage Layout)
   ========================================================================== */
.page-checkout,
.woocommerce-checkout {
  background-color: #FAF9F7 !important;
}

/* Step Breadcrumb Indicators */
.ynl-checkout-steps-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin: 30px auto 40px auto !important;
  flex-wrap: wrap !important;
}

.ynl-checkout-step {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8E8E93 !important;
}

.ynl-step-link {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #8E8E93 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ynl-step-link:hover {
  color: #C41E3A !important;
}

.ynl-step-num {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  background-color: #FAF9F7 !important;
  border: 1.5px solid rgba(119, 90, 25, 0.3) !important;
  color: #775A19 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.ynl-checkout-step.active {
  color: #C41E3A !important;
}

.ynl-checkout-step.active .ynl-step-num {
  background-color: #C41E3A !important;
  border-color: #C41E3A !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(196, 30, 58, 0.3) !important;
}

.ynl-step-separator {
  color: #D4AF37 !important;
  opacity: 0.6 !important;
  display: flex !important;
  align-items: center !important;
}

.ynl-step-separator .material-symbols-outlined {
  font-size: 18px !important;
}

/* Coupon Notice on Checkout */
.woocommerce-form-coupon-toggle .woocommerce-info {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.2) !important;
  border-left: 4px solid #C41E3A !important;
  border-radius: 8px !important;
  padding: 16px 20px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  margin-bottom: 30px !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a {
  color: #C41E3A !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.woocommerce-form-coupon-toggle .woocommerce-info a:hover {
  text-decoration: underline !important;
}

/* Checkout Main Cards */
.ynl-customer-details-card,
.ynl-checkout-order-card,
.woocommerce-billing-fields,
.woocommerce-additional-fields {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 36px 32px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 24px !important;
}

.woocommerce-shipping-fields {
  display: none !important;
}

.ynl-card-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border-bottom: 2px solid rgba(119, 90, 25, 0.15) !important;
  padding-bottom: 14px !important;
  margin-bottom: 26px !important;
}

.ynl-header-icon {
  color: #775A19 !important;
  font-size: 24px !important;
}

.ynl-card-title,
.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
  font-family: 'Playfair Display', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin: 0 !important;
}

/* Form Fields & Labels */
.woocommerce-checkout form.checkout .form-row {
  margin-bottom: 18px !important;
  padding: 0 !important;
}

.woocommerce-checkout form.checkout label .optional {
  font-weight: 500 !important;
  text-transform: lowercase !important;
  color: #8E8E93 !important;
  font-size: 11px !important;
}

.woocommerce-checkout form.checkout label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.woocommerce-checkout form.checkout label .required {
  color: #C41E3A !important;
}

.woocommerce-checkout form.checkout input.input-text,
.woocommerce-checkout form.checkout textarea,
.woocommerce-checkout form.checkout select {
  width: 100% !important;
  height: 46px !important;
  border: 1.5px solid rgba(119, 90, 25, 0.22) !important;
  border-radius: 6px !important;
  background-color: #FAF9F7 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #1A1A1A !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.25s ease !important;
}

.woocommerce-checkout form.checkout textarea {
  height: auto !important;
  min-height: 90px !important;
  padding: 12px 16px !important;
  resize: vertical !important;
}

.woocommerce-checkout form.checkout input.input-text:focus,
.woocommerce-checkout form.checkout textarea:focus,
.woocommerce-checkout form.checkout select:focus {
  background-color: #ffffff !important;
  border-color: #C41E3A !important;
  box-shadow: 0 0 0 3px rgba(196, 30, 58, 0.1) !important;
}

.woocommerce-checkout form.checkout input.input-text:hover,
.woocommerce-checkout form.checkout textarea:hover {
  border-color: #C41E3A !important;
  background-color: #ffffff !important;
}

/* Trust Badges Box */
.ynl-checkout-trust-box {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 16px !important;
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 10px !important;
  padding: 20px 18px !important;
  margin-top: 20px !important;
}

.ynl-trust-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.ynl-trust-item .material-symbols-outlined {
  color: #775A19 !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
  margin-top: 2px !important;
}

.ynl-trust-item strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  display: block !important;
  margin-bottom: 2px !important;
}

.ynl-trust-item span {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  color: #71717A !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* Order Review Card (Right Column) */
#order_review,
.woocommerce-checkout-review-order {
  background: #ffffff !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

#order_review table.shop_table {
  border: none !important;
  margin-bottom: 20px !important;
  width: 100% !important;
}

#order_review table.shop_table th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  border-bottom: 2px solid rgba(119, 90, 25, 0.15) !important;
  padding: 12px 0 !important;
}

#order_review table.shop_table td {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  padding: 14px 0 !important;
  vertical-align: middle !important;
}

#order_review table.shop_table td.product-name {
  font-weight: 600 !important;
  color: #1A1A1A !important;
}

#order_review table.shop_table td.product-total {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  text-align: right !important;
}

#order_review table.shop_table tfoot th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #5B4040 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
}

#order_review table.shop_table tfoot td {
  text-align: right !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}

#order_review table.shop_table tfoot td {
  text-align: right !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
}

#order_review table.shop_table tr.order-total th {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

#order_review table.shop_table tr.order-total td {
  border-bottom: none !important;
  padding-top: 16px !important;
}

#order_review table.shop_table tr.order-total td .amount {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
}

/* Payment Methods Box */
#payment {
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin-top: 20px !important;
}

#payment ul.payment_methods {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

#payment ul.payment_methods li {
  margin-bottom: 14px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.1) !important;
}

#payment ul.payment_methods li:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

#payment ul.payment_methods li label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  display: inline !important;
  cursor: pointer !important;
  margin-left: 8px !important;
}

#payment div.payment_box {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.15) !important;
  border-left: 3px solid #C41E3A !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 14px 16px !important;
  margin: 10px 0 0 24px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  color: #5B4040 !important;
  line-height: 1.6 !important;
}

#payment div.payment_box:before {
  display: none !important;
}

/* Place Order CTA Button */
#place_order {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  line-height: 50px !important;
  background-color: #C41E3A !important;
  border: none !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 0 24px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(196, 30, 58, 0.3) !important;
  transition: all 0.3s ease !important;
  margin-top: 20px !important;
  display: block !important;
  text-align: center !important;
}

#place_order:hover {
  background-color: #9E0027 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(196, 30, 58, 0.4) !important;
}
/* ==========================================================================
   ORDER RECEIVED / THANK YOU PAGE (Luxury Heritage Layout)
   ========================================================================== */
.woocommerce-order.ynl-thankyou-wrapper {
  background-color: #FAF9F7 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* Success Hero Card */
.ynl-order-success-hero {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.2) !important;
  border-radius: 12px !important;
  padding: 45px 35px 35px 35px !important;
  text-align: center !important;
  margin-bottom: 35px !important;
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.04) !important;
}

.ynl-success-icon-wrap {
  width: 76px !important;
  height: 76px !important;
  border-radius: 50% !important;
  background: #FAF9F7 !important;
  border: 2px solid #D4AF37 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px auto !important;
  color: #2E7D32 !important;
  box-shadow: 0 4px 18px rgba(212, 175, 55, 0.25) !important;
}

.ynl-success-icon-wrap .material-symbols-outlined {
  font-size: 44px !important;
}

.ynl-success-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  margin-bottom: 12px !important;
  line-height: 1.25 !important;
}

.ynl-success-subtitle {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  color: #5B4040 !important;
  max-width: 680px !important;
  margin: 0 auto 30px auto !important;
  line-height: 1.65 !important;
}

/* Quick Highlights Bar */
.ynl-order-quick-summary {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 10px !important;
  padding: 18px 24px !important;
  text-align: left !important;
}

.ynl-summary-stat {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.ynl-stat-lbl {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
}

.ynl-stat-val {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
}

.ynl-order-num {
  color: #C41E3A !important;
  font-size: 16px !important;
}

.ynl-stat-price,
.ynl-stat-price .amount {
  color: #C41E3A !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* Thank You Cards */
.ynl-thankyou-card {
  background: #ffffff !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  border-radius: 12px !important;
  padding: 32px 28px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  margin-bottom: 24px !important;
}

/* Thank You Order Table */
.ynl-thankyou-table {
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}

.ynl-thankyou-table th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #775A19 !important;
  border-bottom: 2px solid rgba(119, 90, 25, 0.15) !important;
  padding: 12px 0 !important;
}

.ynl-thankyou-table td {
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  vertical-align: middle !important;
}

.ynl-thankyou-product-info,
.ynl-thankyou-item-flex {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.ynl-item-thumb img,
.ynl-item-thumb-box img {
  width: 64px !important;
  height: 64px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  object-fit: cover !important;
  display: block !important;
}

.ynl-item-details-box {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.ynl-item-title,
.ynl-item-name {
  font-family: 'Playfair Display', serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
}

.ynl-item-title:hover {
  color: #C41E3A !important;
}

.ynl-item-qty-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #FAF9F7 !important;
  border: 1px solid rgba(119, 90, 25, 0.18) !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: #775A19 !important;
  width: fit-content !important;
}

.ynl-item-qty {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  color: #71717A !important;
  display: block !important;
}

.ynl-item-qty strong,
.ynl-item-qty-badge strong {
  color: #1A1A1A !important;
}

.ynl-item-total,
.ynl-item-total .amount {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  font-size: 15px !important;
}

.ynl-thankyou-table tfoot th {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #5B4040 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  padding: 12px 0 !important;
}

.ynl-thankyou-table tfoot td {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  padding: 12px 0 !important;
}

.ynl-thankyou-table tr.ynl-total-row th {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

.ynl-thankyou-table tr.ynl-total-row td {
  border-bottom: none !important;
  padding-top: 16px !important;
}

.ynl-final-total,
.ynl-final-total .amount {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
}

/* Customer Info Rows */
.ynl-info-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(119, 90, 25, 0.08) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
}

.ynl-info-row:last-child {
  border-bottom: none !important;
}

.ynl-info-label {
  color: #775A19 !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

.ynl-info-val {
  color: #1A1A1A !important;
  text-align: right !important;
}

.ynl-address {
  line-height: 1.5 !important;
}

.ynl-note-row {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
}

.ynl-customer-note {
  background: #FAF9F7 !important;
  border-left: 3px solid #775A19 !important;
  border-radius: 0 6px 6px 0 !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  color: #5B4040 !important;
  font-size: 13px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Support Actions */
.ynl-support-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.ynl-support-hotline-btn,
.ynl-continue-shopping-btn {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Hide duplicate default WooCommerce order details */
.woocommerce-order > .woocommerce-order-details,
.woocommerce-order > .woocommerce-customer-details,
.woocommerce-order > .woocommerce-thankyou-order-details {
  display: none !important;
}

.ynl-support-hotline-btn {
  height: 46px !important;
  background-color: #C41E3A !important;
  border: 1.5px solid #C41E3A !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(196, 30, 58, 0.25) !important;
  transition: all 0.3s ease !important;
}

.ynl-support-hotline-btn:hover {
  background-color: #9E0027 !important;
  border-color: #9E0027 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(196, 30, 58, 0.35) !important;
}

.ynl-continue-shopping-btn {
  height: 46px !important;
  background-color: transparent !important;
  border: 1.5px solid #775A19 !important;
  color: #775A19 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.ynl-continue-shopping-btn:hover {
  background-color: #775A19 !important;
  color: #ffffff !important;
}

/* Order Failed State */
.ynl-order-failed-card {
  background: #ffffff !important;
  border: 1px solid rgba(196, 30, 58, 0.25) !important;
  border-radius: 12px !important;
  padding: 45px 30px !important;
  text-align: center !important;
  max-width: 650px !important;
  margin: 40px auto !important;
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.04) !important;
}

.ynl-order-icon-failed {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  background: #FFF5F5 !important;
  border: 2px solid #C41E3A !important;
  color: #C41E3A !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px auto !important;
}

.ynl-order-icon-failed .material-symbols-outlined {
  font-size: 40px !important;
}

.ynl-failed-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #C41E3A !important;
  margin-bottom: 12px !important;
}

.ynl-failed-desc {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #5B4040 !important;
  margin-bottom: 24px !important;
  line-height: 1.6 !important;
}

.ynl-failed-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

/* ==========================================================================
   RESPONSIVE ADJUSTMENTS
   ========================================================================== */
@media (max-width: 768px) {
  .ynl-section-title {
    font-size: 28px !important;
  }
  .ynl-query-bar {
    border-radius: 12px;
    flex-direction: column;
    padding: 12px;
    gap: 10px;
  }
  .ynl-query-btn {
    width: 100%;
    border-radius: 8px !important;
  }
  .ynl-tabs-wrapper {
    padding: 20px 16px !important;
  }
  .woocommerce-tabs ul.tabs.product-tabs {
    flex-wrap: wrap !important;
  }
  .ynl-single-title {
    font-size: 26px !important;
  }
  .ynl-single-article-col {
    padding: 24px 18px !important;
  }
  .ynl-author-box {
    flex-direction: column !important;
    text-align: center !important;
  }
  .ynl-contact-info-card,
  .ynl-contact-form-card {
    padding: 24px 18px !important;
  }
  .ynl-cf7-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .ynl-map-badge {
    position: static !important;
    transform: none !important;
    margin: 12px auto !important;
    width: fit-content !important;
  }
  .woocommerce-cart-form {
    padding: 20px 14px !important;
  }
  .cart-actions .coupon input.input-text {
    width: 100% !important;
  }
  .cart-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .cart-actions .coupon {
    flex-direction: column !important;
    width: 100% !important;
  }
  .cart-actions .coupon button.button {
    width: 100% !important;
  }
  .cart-actions button[name="update_cart"] {
    width: 100% !important;
  }
}