/* Base común del frontend delmare: los botones se definen UNA sola vez
   aquí, con las medidas del demo aprobado (píldora, 14/26, 600, 15.2 px).
   Los módulos solo deciden ancho y márgenes. */
.dm-btn,a.dm-btn,button.dm-btn,label.dm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px !important;border-radius:100px !important;border:1px solid transparent !important;
  font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.95rem;font-weight:600;line-height:1.3;letter-spacing:-.1px;
  text-decoration:none !important;text-transform:none;background-image:none;cursor:pointer;
  -webkit-appearance:none !important;appearance:none !important;
  transition:background-color .35s cubic-bezier(.22,1,.36,1),color .35s cubic-bezier(.22,1,.36,1),
    border-color .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s cubic-bezier(.22,1,.36,1)}
.dm-btn svg{width:16px;height:16px;flex:none}
.dm-btn--primary,a.dm-btn--primary,button.dm-btn--primary{background-color:#B82105;color:#fff;box-shadow:0 12px 26px -14px rgba(184,33,5,.62)}
/* El tema Hello (reset.css) pinta button:hover/:focus en magenta: cada variante fija fondo y color también en :focus y en [disabled] */
.dm-btn--primary:focus,.dm-btn--primary[disabled]:hover,.dm-btn--primary[disabled]:focus{background-color:#B82105;color:#fff}
.dm-btn--primary:hover:not([disabled]),a.dm-btn--primary:hover,button.dm-btn--primary:hover:not([disabled]){background-color:#8A2A1A;color:#fff;transform:translateY(-2px)}
.dm-btn--ghost,a.dm-btn--ghost,button.dm-btn--ghost{background-color:transparent;color:#1A202C;border-color:rgba(26,32,44,.22) !important;box-shadow:none}
.dm-btn--ghost:focus,.dm-btn--ghost[disabled]:hover,.dm-btn--ghost[disabled]:focus{background-color:transparent;color:#1A202C}
.dm-btn--ghost:hover:not([disabled]),a.dm-btn--ghost:hover{background-color:rgba(26,32,44,.04);color:#1A202C;border-color:rgba(26,32,44,.35) !important;transform:translateY(-2px)}
.dm-btn--light,a.dm-btn--light{background-color:#fff;color:#8A2A1A;box-shadow:0 12px 26px -14px rgba(26,32,44,.35)}
.dm-btn--light:focus{background-color:#fff;color:#8A2A1A}
.dm-btn--light:hover,a.dm-btn--light:hover{background-color:#F4F6F9;color:#8A2A1A;transform:translateY(-2px)}
.dm-btn[disabled],button.dm-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none !important;box-shadow:none}
.dm-btn--block{width:100%}
/* Tamaño pequeño: acciones de formulario y utilidades (Speichern, Bearbeiten…) */
.dm-btn--sm,a.dm-btn--sm,button.dm-btn--sm,label.dm-btn--sm{padding:10px 20px !important;font-size:.88rem;gap:7px}
.dm-btn--sm svg{width:15px;height:15px}
@media (max-width:1024px){.dm-btn,a.dm-btn,button.dm-btn,label.dm-btn{padding:12px 22px !important;font-size:.92rem}
  .dm-btn--sm,a.dm-btn--sm,button.dm-btn--sm,label.dm-btn--sm{padding:9px 18px !important;font-size:.86rem}}
@media (max-width:767px){.dm-btn,a.dm-btn,button.dm-btn,label.dm-btn{padding:11px 20px !important;font-size:.9rem}
  .dm-btn--sm,a.dm-btn--sm,button.dm-btn--sm,label.dm-btn--sm{padding:8px 16px !important;font-size:.84rem}}

/* Panel lateral genérico (móvil y tableta): fondo oscuro + caja que se desliza desde la derecha.
   Lo usa el carrito; el panel de la cuenta y el menú Off-Canvas tienen el mismo aspecto. */
.dm-panel[hidden]{display:none !important}
.dm-panel__ov{position:fixed;inset:0;z-index:119;background:rgba(26,32,44,.45);opacity:0;pointer-events:none;transition:opacity .38s cubic-bezier(.22,1,.36,1)}
.dm-panel__box{position:fixed;top:0;bottom:0;right:0;z-index:120;width:min(var(--dm-panel-w,360px),88vw);display:flex;flex-direction:column;
  background:#fff;box-shadow:-24px 0 60px -30px rgba(26,32,44,.5);font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:16px;line-height:1.5;color:#1A202C;text-align:left;
  transform:translateX(102%);transition:transform .38s cubic-bezier(.22,1,.36,1)}
.dm-panel--left .dm-panel__box{right:auto;left:0;box-shadow:24px 0 60px -30px rgba(26,32,44,.5);transform:translateX(-102%)}
.dm-panel.is-open .dm-panel__box{transform:none}
.dm-panel.is-open .dm-panel__ov{opacity:1;pointer-events:auto}
.dm-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:16px 20px;background:#fff;border-bottom:1px solid rgba(26,32,44,.07)}
.dm-panel__title{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:1.25rem;letter-spacing:-.012em;color:#1A202C}
.dm-panel__x,button.dm-panel__x{display:inline-flex;align-items:center;gap:6px;padding:8px 4px 8px 10px !important;border:0 !important;background:transparent;
  color:#4A5568;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.9rem;font-weight:500;line-height:1;cursor:pointer;
  -webkit-appearance:none;appearance:none;box-shadow:none;text-transform:none;border-radius:100px !important;transition:color .25s cubic-bezier(.22,1,.36,1)}
.dm-panel__x:hover,.dm-panel__x:focus{background:transparent;color:#B82105}
.dm-panel__x svg{width:18px;height:18px}
.dm-panel__body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}
.dm-panel__foot{flex:none;padding:16px 20px 20px;border-top:1px solid rgba(26,32,44,.07);background:#fff}
@media (max-width:767px){.dm-panel__box{width:min(var(--dm-panel-w,360px),80vw)}}

/* Espacio uniforme entre el contenido y el pie en todo el sitio: 110 / 70 / 56 px,
   igual que la última sección de las páginas de Elementor (Mein Konto, páginas de contenido). */
:root{--dm-end:110px}
@media (max-width:1024px){:root{--dm-end:70px}}
@media (max-width:767px){:root{--dm-end:56px}}
.dm-page>.dm-wrap{padding-bottom:var(--dm-end) !important}
.dm-page>.dm-wrap>:last-child,.dm-page>.dm-wrap>:last-child>:last-child{margin-bottom:0 !important}
body:not(.elementor-page) main.site-main{padding-bottom:var(--dm-end)}
body:not(.elementor-page) main.site-main .page-content>:last-child{margin-bottom:0}

/* Importes: un importe (cifra, signo y €) nunca se parte en dos líneas. */
.dm-nowrap{white-space:nowrap}
