/*
Theme Name: Disfraces Mas Baratos
Theme URI: https://disfracesmasbaratos.com
Description: Tema para disfraces mas baratos
Author: Soulvi
Author URI: https://soulvi.com/
Template: hello-elementor
Version: 3.0.0
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root {
  --dmb-ink: #17151f;
  --dmb-muted: #686270;
  --dmb-purple: #6d2df1;
  --dmb-purple-dark: #43208b;
  --dmb-coral: #ff5b45;
  --dmb-yellow: #ffbf3f;
  --dmb-cream: #fffaf3;
  --dmb-lilac: #f5f1ff;
  --dmb-line: #e9e2f2;
  --dmb-shadow: 0 20px 55px rgba(43, 28, 68, .10);
  --dmb-radius: 24px;
}

html { scroll-behavior: smooth; }
body {
  overflow-x: hidden;
  background: #fff;
  color: var(--dmb-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.elementor-page { margin: 0; }
::selection { background: #dfd2ff; color: #251443; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--dmb-yellow);
  outline-offset: 4px;
}

/* Cabecera */
#site-header.site-header {
  position: sticky;
  top: 0;
  z-index: 999;
  border: 0;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 0 rgba(42, 29, 65, .08), 0 12px 38px rgba(42, 29, 65, .06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.admin-bar #site-header.site-header { top: 32px; }
#site-header .header-inner {
  width: min(1240px, calc(100% - 48px));
  max-width: none;
  min-height: 76px;
  margin: 0 auto;
  padding: 12px 0;
  gap: 24px;
}
#site-header .site-branding {
  flex: 0 0 min(270px, 28vw);
  min-width: 190px;
}
#site-header .site-logo,
#site-header .custom-logo-link,
#site-header .custom-logo { display: block; }
#site-header .custom-logo {
  width: min(270px, 100%);
  height: auto;
  max-height: 42px;
  object-fit: contain;
  object-position: left center;
}
#site-header .site-description { display: none; }
#site-header .site-navigation { margin-left: auto; }
#site-header .site-navigation ul.menu {
  display: flex;
  align-items: center;
  gap: 3px;
}
#site-header .site-navigation ul.menu > li > a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 999px;
  color: #312b3a;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1.15;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
#site-header .site-navigation ul.menu > li > a:hover,
#site-header .site-navigation ul.menu > li.current-menu-item > a,
#site-header .site-navigation ul.menu > li.current-menu-ancestor > a {
  background: var(--dmb-lilac);
  color: var(--dmb-purple-dark);
  transform: translateY(-1px);
}
#site-header .site-navigation ul.menu > li.dmb-menu-season > a {
  background: linear-gradient(135deg, #4a1d82, #7a2be2);
  color: #fff;
  box-shadow: 0 8px 20px rgba(109, 45, 241, .2);
}
#site-header .site-navigation .sub-menu {
  min-width: 210px;
  padding: 9px;
  border: 1px solid var(--dmb-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--dmb-shadow);
}
#site-header .site-navigation .sub-menu a {
  padding: 10px 12px;
  border-radius: 10px;
  font-size: .9rem;
  font-weight: 700;
}
#site-header .site-navigation .sub-menu a:hover { background: var(--dmb-lilac); color: var(--dmb-purple-dark); }
#site-header .site-navigation-toggle {
  width: 46px;
  height: 46px;
  border: 1px solid var(--dmb-line);
  border-radius: 14px;
  background: #fff;
  color: var(--dmb-purple-dark);
  box-shadow: 0 8px 22px rgba(43, 28, 68, .08);
}
#site-header .site-navigation-dropdown {
  border: 0;
  background: #fff;
  box-shadow: 0 18px 35px rgba(43, 28, 68, .13);
}
#site-header .site-navigation-dropdown ul.menu { padding: 10px 18px 18px; }
#site-header .site-navigation-dropdown a {
  margin: 3px 0;
  padding: 13px 14px;
  border-radius: 12px;
  color: var(--dmb-ink);
  font-weight: 750;
}
#site-header .site-navigation-dropdown a:hover { background: var(--dmb-lilac); color: var(--dmb-purple-dark); }

/* Anchuras y ritmo global */
.dmb-wrap,
.dmb-pillar-wrap,
.dmb-men-wrap,
.dmb-theme-wrap,
.dmb-blog .wrap,
.dmb-contact .wrap,
.dmb-season-wrap,
.dmb-article {
  width: min(1200px, calc(100% - 64px)) !important;
  max-width: 1200px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}
.dmb-article { max-width: 860px !important; }
.dmb-section,
.dmb-pillar-section,
.dmb-men-section,
.dmb-theme-section,
.dmb-season-section { padding: 92px 0 !important; }
.dmb-pillar-hero,
.dmb-men-hero,
.dmb-theme-hero { padding: 100px 0 88px !important; }

/* Mejora de componentes existentes */
.dmb-card,
.dmb-pillar-card,
.dmb-men-card,
.dmb-theme-card,
.dmb-blog .card {
  border: 1px solid var(--dmb-line) !important;
  border-radius: var(--dmb-radius) !important;
  box-shadow: 0 14px 38px rgba(43, 28, 68, .08) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.dmb-card:hover,
.dmb-pillar-card:hover,
.dmb-men-card:hover,
.dmb-theme-card:hover,
.dmb-blog .card:hover {
  transform: translateY(-6px);
  border-color: #cdbbf4 !important;
  box-shadow: 0 24px 54px rgba(43, 28, 68, .14) !important;
}
.dmb-pillar-card,
.dmb-men-card,
.dmb-theme-card { position: relative; overflow: hidden; padding: 28px !important; }
.dmb-pillar-card::before,
.dmb-men-card::before,
.dmb-theme-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, var(--dmb-purple), var(--dmb-coral), var(--dmb-yellow));
}
.dmb-pillar-grid,
.dmb-men-grid,
.dmb-theme-grid { gap: 22px !important; }
.dmb-pillar-box,
.dmb-men-box,
.dmb-ideas-main,
.dmb-ideas-side {
  border-radius: var(--dmb-radius) !important;
  box-shadow: 0 12px 34px rgba(43, 28, 68, .07);
}
.dmb-pillar-btn,
.dmb-men-btn,
.dmb-pillar-amz,
.dmb-men-amz,
.dmb-theme-amz,
.dmb-amz,
.dmb-btn {
  border-radius: 999px !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}
.dmb-pillar-btn:hover,
.dmb-men-btn:hover,
.dmb-pillar-amz:hover,
.dmb-men-amz:hover,
.dmb-theme-amz:hover,
.dmb-amz:hover,
.dmb-btn:hover { transform: translateY(-2px); filter: saturate(1.08); }
.dmb-pillar-faq details,
.dmb-men-faq details,
.dmb-theme-faq details,
.dmb-faq details {
  border-radius: 16px !important;
  box-shadow: 0 7px 22px rgba(43, 28, 68, .045);
}

/* Entradas */
body.single-post .site-main {
  padding: 72px 0 96px;
  background: linear-gradient(180deg, #fbf9ff 0, #fff 420px);
}
body.single-post .page-header,
body.single-post .page-content,
body.single-post .site-main > article {
  width: min(930px, calc(100% - 64px));
  margin-right: auto;
  margin-left: auto;
}
body.single-post .entry-title {
  max-width: 850px;
  margin: 18px auto 32px;
  color: var(--dmb-ink);
  font-size: clamp(2.35rem, 6vw, 4.75rem);
  line-height: 1.02;
  letter-spacing: -.055em;
  text-align: center;
}
body.single-post .entry-content { margin-top: 0; }
body.single-post .dmb-article {
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid var(--dmb-line);
  border-radius: 30px;
  background: #fff;
  box-shadow: var(--dmb-shadow);
}

/* Pie */
#site-footer.site-footer {
  margin: 0;
  padding: 0;
  border: 0;
  background: #17131f;
  color: #ddd6e8;
}
#site-footer .footer-inner {
  width: min(1240px, calc(100% - 64px));
  max-width: none;
  margin: 0 auto;
  padding: 54px 0 42px;
  gap: 30px;
}
#site-footer .site-branding,
#site-footer .copyright { color: #cfc6da; }
#site-footer .site-title a,
#site-footer a { color: #fff; }
#site-footer .site-navigation ul.menu { display: flex; flex-wrap: wrap; gap: 8px 18px; }
#site-footer .site-navigation a {
  padding: 7px 0;
  color: #ddd6e8;
  font-size: .9rem;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.24);
  text-underline-offset: 4px;
}
#site-footer .site-navigation a:hover { color: #fff; text-decoration-color: var(--dmb-yellow); }

@media (max-width: 1050px) {
  #site-header .header-inner { width: min(100% - 36px, 1200px); }
  #site-header .site-branding { flex-basis: 245px; }
  #site-header .site-navigation ul.menu > li > a { padding: 9px 9px; font-size: .84rem; }
}
@media (max-width: 782px) {
  body.admin-bar #site-header.site-header { top: 46px; }
  #site-header .header-inner { width: calc(100% - 28px); min-height: 68px; }
  #site-header .site-branding { flex-basis: min(245px, 68vw); min-width: 0; }
  #site-header .custom-logo { max-height: 34px; }
  .dmb-wrap,
  .dmb-pillar-wrap,
  .dmb-men-wrap,
  .dmb-theme-wrap,
  .dmb-blog .wrap,
  .dmb-contact .wrap,
  .dmb-season-wrap,
  .dmb-article { width: min(100% - 32px, 1200px) !important; }
  .dmb-section,
  .dmb-pillar-section,
  .dmb-men-section,
  .dmb-theme-section,
  .dmb-season-section { padding: 66px 0 !important; }
  .dmb-pillar-hero,
  .dmb-men-hero,
  .dmb-theme-hero { padding: 72px 0 62px !important; }
  body.single-post .page-header,
  body.single-post .page-content,
  body.single-post .site-main > article { width: min(100% - 28px, 930px); }
  body.single-post .site-main { padding: 48px 0 70px; }
  body.single-post .dmb-article { padding: 24px 20px; border-radius: 22px; }
  #site-footer .footer-inner { width: calc(100% - 36px); padding: 42px 0 34px; }
}
@media (max-width: 600px) {
  .dmb-section,
  .dmb-pillar-section,
  .dmb-men-section,
  .dmb-theme-section,
  .dmb-season-section { padding: 54px 0 !important; }
  .dmb-pillar-hero,
  .dmb-men-hero,
  .dmb-theme-hero { padding: 58px 0 52px !important; }
}
