/******************************************************************
  MiPasteleria - core-theme.css
  Base: variables + tokens + helpers (sin casarse con una pastelería).
  El look final lo define el skin (css/skins/*.css) + brand.css por dominio.
******************************************************************/

:root{
  /* Typography */
  --mp-font-sans: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --mp-font-serif: "Playfair Display", Georgia, serif;

  /* Radius / shadow */
  --mp-radius-xs: 8px;
  --mp-radius-sm: 12px;
  --mp-radius-md: 16px;
  --mp-radius-lg: 20px;

  --mp-shadow-sm: 0 6px 16px rgba(0,0,0,.08);
  --mp-shadow-md: 0 10px 30px rgba(0,0,0,.12);

  /* Spacing */
  --mp-space-1: 6px;
  --mp-space-2: 10px;
  --mp-space-3: 14px;
  --mp-space-4: 18px;
  --mp-space-5: 24px;
  --mp-space-6: 32px;

  /* Color defaults (fallbacks, se sobreescriben por skin/brand) */
  --mp-bg: #ffffff;
  --mp-surface: #ffffff;
  --mp-surface-2: #f7f7f7;

  --mp-text: #1f2328;
  --mp-text-muted: rgba(31,35,40,.72);

  --mp-border: rgba(0,0,0,.10);
  --mp-border-strong: rgba(0,0,0,.22);

  --mp-accent: #8c6a55;
  --mp-accent-dark: #5f4537;

  /* Header defaults */
  --mp-header-bg: #ffffff;
  --mp-nav-bg: var(--mp-accent-dark);
  --mp-nav-text: #ffffff;
  --mp-logo-max-height: 92px;

  /* Focus ring */
  --mp-focus: 0 0 0 3px rgba(140,106,85,.25);
}

/* -----------------------------
  Global base (suave)
----------------------------- */
html, body{
  font-family: var(--mp-font-sans);
  background: var(--mp-bg);
  color: var(--mp-text);
}

a{ color: inherit; }
a:focus{ outline: none; box-shadow: var(--mp-focus); border-radius: 6px; }

::selection{
  background: rgba(140,106,85,.20);
}

/* -----------------------------
  Helpers
----------------------------- */
.mp-container-max{
  max-width: 1170px;
}

.mp-muted{ color: var(--mp-text-muted); }
.mp-card{
  background: var(--mp-surface);
  border: 1px solid var(--mp-border);
  border-radius: var(--mp-radius-md);
  box-shadow: var(--mp-shadow-sm);
}

.mp-pill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--mp-border);
  background: rgba(255,255,255,.6);
}

.mp-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid var(--mp-border);
  background: var(--mp-surface);
  color: var(--mp-text);
  font-weight: 600;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
  user-select: none;
}

.mp-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--mp-shadow-sm);
}

.mp-btn:active{
  transform: translateY(0);
  box-shadow: none;
}

.mp-btn-primary{
  background: var(--mp-accent-dark);
  border-color: transparent;
  color: #fff;
}

.mp-btn-primary:hover{
  opacity: .95;
}

/* Inputs/select (para que se vean más pro sin tocar el template completo) */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
select,
textarea{
  border: 1px solid var(--mp-border);
  border-radius: 12px;
  padding: 10px 12px;
  background: var(--mp-surface);
  color: var(--mp-text);
}

input:focus,
select:focus,
textarea:focus{
  outline: none;
  box-shadow: var(--mp-focus);
  border-color: rgba(140,106,85,.45);
}

/* Headings (suave, sin imponer demasiado) */
h1,h2,h3,h4,h5,h6{
  color: var(--mp-text);
  font-family: var(--mp-font-sans);
}

.mp-title-serif{
  font-family: var(--mp-font-serif);
}

/* -----------------------------
  Header integration hooks
  (si el skin no define nada, al menos se ve bien)
----------------------------- */
.header__menu{
  background: var(--mp-nav-bg);
}

.header__menu ul li a{
  color: var(--mp-nav-text);
}

#imgHeaderTop img{
  max-height: var(--mp-logo-max-height);
}

/* Preloader (si existe) */
#preloder{
  background: #000;
}
