/* =========================================================
   BOOKINMORY · TEMA PERSONALIZABLE DE LA PÁGINA PÚBLICA
   Esta capa NO cambia la estructura premium. Solo conecta la
   apariencia guardada por cada negocio con toda la landing.
   ========================================================= */

.bm-premium{
  --pm-ink:var(--bm-page-text,#171720);
  --pm-muted:var(--bm-page-muted,#6D6D78);
  --pm-line:var(--bm-page-border,#E7E7EC);
  --pm-soft:color-mix(in srgb,var(--bm-page-bg,#FBFBFC) 74%,var(--bm-page-surface,#FFFFFF));
  --pm-white:var(--bm-page-surface,#FFFFFF);
  background:var(--bm-page-bg,#FBFBFC);
  color:var(--bm-page-text,#171720);
}

.bm-premium .premium-main,
.bm-premium .premium-section,
.bm-premium .premium-faq,
.bm-premium .premium-footer{
  color:var(--bm-page-text,#171720);
}

/* Header */
.bm-premium .premium-topbar{
  background:color-mix(in srgb,var(--bm-page-header,#FFFFFF) 92%,transparent);
  border-color:var(--bm-page-border,#E7E7EC);
  color:var(--bm-page-header-text,#171720);
}
.bm-premium .premium-brand,
.bm-premium .premium-brand>span:last-child,
.bm-premium .premium-nav a,
.bm-premium .premium-top-actions .topbar-client{
  color:var(--bm-page-header-text,#171720);
}
.bm-premium .premium-top-actions .topbar-client{
  background:var(--bm-page-surface,#FFFFFF);
  border-color:var(--bm-page-border,#E7E7EC);
}

/* Hero de escritorio */
@media(min-width:781px){
  .bm-premium .premium-hero-full .premium-hero-media{
    background-position:var(--bm-hero-x,50%) var(--bm-hero-y,50%);
  }
  .bm-premium .premium-hero-full .premium-hero-shade{
    opacity:clamp(.42,calc(var(--bm-hero-overlay,.48) + .34),1);
  }
}

/* Superficies */
.bm-premium :is(
  .premium-service-card,
  .premium-team-card,
  .premium-contact-panel,
  .premium-hours-panel,
  .premium-faq details,
  .premium-hero-reserve-card,
  .premium-payment-modal,
  .premium-payment-method,
  .premium-facts,
  .premium-about-card
){
  background:var(--bm-page-surface,#FFFFFF);
  border-color:var(--bm-page-border,#E7E7EC);
}

.bm-premium .premium-facts>div,
.bm-premium .premium-contact-panel article,
.bm-premium .premium-hours-title,
.bm-premium .premium-hours-row,
.bm-premium .premium-benefit-list article{
  border-color:var(--bm-page-border,#E7E7EC);
}

.bm-premium :is(
  .premium-section-head h2,
  .premium-service-content h3,
  .premium-team-card h3,
  .premium-about-copy h2,
  .premium-faq summary,
  .premium-contact-panel strong,
  .premium-hours-row strong,
  .premium-hero-reserve-title,
  .premium-payment-modal h3,
  .premium-payment-method strong,
  .premium-footer strong
){
  color:var(--bm-page-text,#171720);
}

.bm-premium :is(
  .premium-section-head>p,
  .premium-service-content p,
  .premium-team-card p,
  .premium-about-copy>p,
  .premium-faq details p,
  .premium-hours-row span,
  .premium-contact-panel small,
  .premium-payment-method small,
  .premium-footer p
){
  color:var(--bm-page-muted,#6D6D78);
}


/* La leyenda de la galería vive sobre la fotografía: nunca debe heredar
   el fondo de las superficies/tarjetas del tema. */
.bm-premium .premium-gallery-caption{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
}
.bm-premium .premium-gallery-caption :is(small,strong){
  color:#fff!important;
}

/* Bloques oscuros configurables */
.bm-premium .premium-booking-benefits{
  background:var(--bm-page-dark,#171720);
  color:var(--bm-page-dark-text,#FFFFFF);
}
.bm-premium .premium-booking-benefits :is(h2,h3,strong){
  color:var(--bm-page-dark-text,#FFFFFF);
}
.bm-premium .premium-benefits-intro p,
.bm-premium .premium-benefit-list p{
  color:color-mix(in srgb,var(--bm-page-dark-text,#FFFFFF) 68%,transparent);
}
.bm-premium .premium-benefit-list article{
  border-color:color-mix(in srgb,var(--bm-page-dark-text,#FFFFFF) 15%,transparent);
}

/* Acentos y botones */
.bm-premium :is(
  .premium-kicker,
  .premium-location,
  .premium-service-number,
  .premium-service-book span,
  .premium-hours-title strong,
  .premium-hours-row.is-today,
  .premium-hours-row.is-today span,
  .premium-contact-panel a,
  .premium-faq summary span
){
  color:var(--bm-primary);
}

.bm-premium .premium-button-primary,
.bm-premium .premium-top-actions .topbar-reserve,
.bm-premium .landing-mobile-reserve{
  background:var(--bm-primary);
  color:var(--bm-primary-text);
}

/* CTA final mantiene los dos colores de la marca */
.bm-premium .premium-final-cta{
  background:linear-gradient(120deg,var(--bm-primary),var(--bm-secondary));
  color:var(--bm-primary-text);
}

/* Redes, chips y controles */
.bm-premium .premium-social-row a,
.bm-premium .premium-service-chips button,
.bm-premium .premium-gallery-filter,
.bm-premium .premium-button-glass{
  border-color:var(--bm-page-border,#E7E7EC);
}
.bm-premium .premium-social-row a{
  background:var(--bm-page-surface,#FFFFFF)!important;
  color:var(--bm-page-text,#171720)!important;
}
.bm-premium .premium-social-row a:hover{
  color:var(--bm-primary)!important;
  border-color:color-mix(in srgb,var(--bm-primary) 35%,var(--bm-page-border,#E7E7EC));
}

/* Modal de pago */
.bm-premium .premium-payment-modal-backdrop{
  background:color-mix(in srgb,var(--bm-page-dark,#171720) 62%,transparent);
}
.bm-premium .premium-payment-copy-button{
  background:color-mix(in srgb,var(--bm-primary) 10%,var(--bm-page-surface,#FFFFFF));
  color:var(--bm-primary);
  border-color:color-mix(in srgb,var(--bm-primary) 22%,var(--bm-page-border,#E7E7EC));
}

/* El editor móvil ya tiene sus propios controles de imagen/overlay.
   No sobreescribimos --bm-mobile-* aquí. */
@media(max-width:780px){
  .bm-premium .premium-topbar{
    background:color-mix(in srgb,var(--bm-page-header,#FFFFFF) 92%,transparent);
  }
  .bm-premium .premium-top-actions .topbar-client{
    color:var(--bm-page-header-text,#171720);
    background:var(--bm-page-surface,#FFFFFF);
  }
}

/* Bookinmory v24 · zoom de portada en escritorio */
@media(min-width:781px){
  .bm-premium .premium-hero-full .premium-hero-media{
    transform:scale(var(--bm-hero-zoom,1));
    transform-origin:center;
    transition:transform .25s ease,background-position .25s ease;
  }
}
