/* Undutu / Flatsome 3.x. Additive and scoped; no parent template overrides. */
.undutu-page, body.undutu-design {
  --ud-bg: #101011;
  --ud-panel: #1b1a1d;
  --ud-text: #f5f2ef;
  --ud-muted: #b5b2b4;
  --ud-accent: #f0a1be;
  --ud-border: #363138;
  --ud-title-font: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
}
body.undutu-design, body.undutu-design #main, body.undutu-design #wrapper {
  background: var(--ud-bg);
  color: var(--ud-text);
}
.undutu-page { background: var(--ud-bg); color: var(--ud-text); }
.undutu-page h1, .undutu-page h2, .undutu-page h3 {
  color: var(--ud-text);
  font-family: var(--ud-title-font);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.02em;
}
.undutu-page h2 { font-size: clamp(2.4rem, 4.2vw, 3.4rem); }
.undutu-page h3 { font-size: 1.8rem; }
.undutu-page p { color: var(--ud-muted); }
.undutu-page a { color: var(--ud-text); }
.undutu-page a:hover { color: var(--ud-accent); }
.undutu-page .row { max-width: 1080px; }
.undutu-page .ud-kicker, .undutu-page p.ud-kicker {
  font-family: inherit; font-size: 11px; font-weight: 600;
  line-height: 1.6; letter-spacing: .17em; text-transform: uppercase;
  color: var(--ud-accent); margin-bottom: 18px;
}
.undutu-page .ud-accent { color: var(--ud-accent); }
.undutu-page .button {
  border-radius: 0; text-transform: none; font-size: .85rem;
  font-weight: 600; letter-spacing: 0; min-height: 46px;
  line-height: 1.45; padding: 14px 24px; margin-top: 8px;
  background: var(--ud-accent); color: #171014; border: 1px solid var(--ud-accent);
  box-shadow: none; text-shadow: none;
}
.undutu-page .button:hover { background: #f7bad0; color: #171014; }
.undutu-page .button.is-outline, .undutu-page .button.is-link {
  background: transparent; color: var(--ud-text); border-color: #725464;
}
.undutu-page .button.is-link { border: 0; border-bottom: 1px solid #725464; padding-inline: 0; }
.undutu-page :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--ud-accent); outline-offset: 4px;
}
.undutu-page .ud-hero-title { font-size: clamp(4.5rem, 8.8vw, 7.8rem); line-height: .94; margin-bottom: 25px; }
.undutu-page .ud-hero-copy p { max-width: 340px; }
.ud-hero { min-height: 580px; }
.ud-hero .section-bg { background-position: center; }
.ud-hero .section-content { padding-block: 65px; }
.undutu-page .ud-image-note { font-size: 11px; color: #c8c0c5; letter-spacing: .08em; margin-top: 35px; }
.undutu-page .ud-section-heading { margin-bottom: 22px; }
.undutu-page .ud-game-banner { border: 1px solid var(--ud-border); }
.undutu-page .ud-game-banner h2 { font-size: clamp(3.5rem, 6vw, 5rem); margin-bottom: 9px; }
.undutu-page .ud-game-banner p { font-size: .9rem; color: #e0d8dd; }
.undutu-page .ud-game-banner:hover { border-color: var(--ud-accent); }
.undutu-page .ud-game-banner .text-box { padding: 12px; }
.ud-catalog, .ud-community, .ud-footer { border-top: 1px solid var(--ud-border); }
.ud-community { border-bottom: 1px solid var(--ud-border); }
.undutu-page .ud-community-title { font-size: clamp(2.8rem, 5vw, 4.2rem); max-width: 480px; }
.undutu-page .ud-product-grid .product-small.box {
  background: var(--ud-panel); border: 1px solid var(--ud-border); height: 100%;
}
.undutu-page .ud-product-grid .product-small.box:hover { border-color: #785d6a; }
.undutu-page .ud-product-grid .box-image { background: #28272b; }
.undutu-page .ud-product-grid .box-image img { aspect-ratio: 16/10; object-fit: cover; }
.undutu-page .ud-product-grid .box-text { padding: 23px; text-align: left; }
.undutu-page .ud-product-grid .name a {
  display: block; color: var(--ud-text); font-family: var(--ud-title-font);
  font-size: 1.8rem; line-height: 1.1; font-weight: 600;
}
.undutu-page .ud-product-grid .category { color: var(--ud-muted); font-size: 11px; letter-spacing: .1em; }
.undutu-page .ud-product-grid .price { color: var(--ud-accent); margin-top: 14px; }
.undutu-page .ud-product-grid .amount { color: inherit; }
.undutu-page .ud-product-grid .star-rating { color: var(--ud-accent); }
.undutu-page .ud-product-grid .button { padding: 10px 14px; min-height: 44px; font-size: .8rem; }
.undutu-page .accordion-title {
  color: var(--ud-text); border-top-color: var(--ud-border);
  padding-block: 20px; font-size: .95rem; font-weight: 500;
}
.undutu-page .accordion-title.active { background: #211d22; color: var(--ud-accent); }
.undutu-page .accordion-inner { color: var(--ud-muted); }
.undutu-page .accordion .toggle { color: var(--ud-accent); }
.undutu-page .ud-status-table { width: 100%; border-collapse: collapse; }
.undutu-page .ud-status-table th, .undutu-page .ud-status-table td {
  color: var(--ud-text); border-color: var(--ud-border); font-size: .9rem; padding-block: 14px;
}
.undutu-page .ud-status-table td:last-child { color: var(--ud-muted); text-align: right; }
.undutu-page .ud-footer-wordmark { font-family: var(--ud-title-font); font-size: 2rem; letter-spacing: .15em; color: var(--ud-text); }
.undutu-page .ud-footer-links a { display: inline-block; padding: 10px 14px 10px 0; min-height: 44px; }
.undutu-page .ud-fine-print { font-size: .8rem; max-width: 680px; }
.undutu-page .ud-product-info { background: var(--ud-panel); padding: 30px; border: 1px solid var(--ud-border); }
.undutu-page .product-title { font-size: clamp(2.7rem, 4.8vw, 4.4rem); }
.undutu-page .product-info .price, .undutu-page .product-page-price, .undutu-page .price-wrapper .amount { color: var(--ud-accent); }
.undutu-page .product-short-description { color: var(--ud-muted); }
.undutu-page .product_meta { color: var(--ud-muted); border-color: var(--ud-border); }
.undutu-page .woocommerce-tabs { border-color: var(--ud-border); }
.undutu-page .woocommerce-tabs .nav a { color: var(--ud-muted); }
.undutu-page .woocommerce-tabs .nav .active a { color: var(--ud-accent); }
.undutu-page .woocommerce-tabs .panel { color: var(--ud-text); }
.undutu-page .woocommerce-tabs :is(h2,h3,h4) { color: var(--ud-text); }
.undutu-page :is(input,select,textarea) { background: #242126; color: var(--ud-text); border-color: #69535e; }
/* These header colors affect explicitly tagged kit pages/products only.
   Logo, navigation contents and footer assignment remain Header Builder settings. */
body.undutu-design .header-wrapper, body.undutu-design .header-bg-color { background: #101011; }
body.undutu-design .header-main { border-bottom: 1px solid #363138; }
body.undutu-design #header .nav>li>a { color: #e5dce1; }
body.undutu-design #header .nav>li>a:hover { color: #f0a1be; }
body.undutu-design #header .header-button .button { border-radius: 0; background: transparent; color: #f5f2ef; border-color: #725464; }
@media(max-width:849px) {
  .undutu-page .ud-hero-title { font-size: clamp(4.2rem, 10vw, 6rem); }
  .undutu-page .ud-product-grid .box-text { padding: 18px; }
  .undutu-page .ud-product-grid .name a { font-size: 1.5rem; }
}
@media(max-width:549px) {
  .ud-hero { min-height: 550px; }
  .ud-hero .section-content { padding-block: 40px; }
  .undutu-page .ud-hero-title { font-size: clamp(3.6rem, 14vw, 5rem); }
  .undutu-page .button { max-width: 100%; white-space: normal; }
  .undutu-page .ud-product-info { padding: 22px; }
  .undutu-page .ud-product-grid .name a { font-size: 1.9rem; }
  .undutu-page .ud-status-table th, .undutu-page .ud-status-table td { font-size: .8rem; }
}
@media(prefers-reduced-motion:reduce) {
  .undutu-page *, .undutu-page *::before, .undutu-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
