/* Matrícula de Vida · adaptación del prototipo a los bloques de WordPress.
   site.css = sistema de diseño (tokens, componentes); este fichero = lo que cambia al ser bloques nativos. */

/* Neutralizar el espaciado automático de WordPress: el ritmo vertical lo marcan las secciones */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-block-group, .wp-block-heading, .wp-block-image, .wp-block-buttons, .wp-block-list { margin-block-start: 0; margin-block-end: 0; }
.wp-block-post-content > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-block-image { margin: 0; } .wp-block-image img { display: block; max-width: 100%; height: auto; }
.wp-block-list { padding-left: 0; }
.site-main { display: block; }
body.admin-bar .app-bar { top: 32px; } @media (max-width: 782px) { body.admin-bar .app-bar { top: 46px; } }

/* ── Botones nativos (core/button) con el sistema M3 ── */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.wp-block-buttons.btn-row { margin-top: 2rem; }
.wp-block-button .wp-block-button__link { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 52px; padding: 0 1.6rem; border-radius: var(--r-full); border: 1px solid transparent; font: 500 .9375rem/1 var(--f-sans); letter-spacing: .01em; text-decoration: none; cursor: pointer; background: none; color: inherit; transition: transform 500ms var(--spring); overflow: hidden; box-shadow: none; }
.wp-block-button .wp-block-button__link::after { content: ""; position: absolute; inset: 0; background: currentColor; opacity: 0; transition: opacity 150ms var(--ease); z-index: -1; }
.wp-block-button .wp-block-button__link:hover::after { opacity: var(--st-hover); }
.wp-block-button .wp-block-button__link:focus-visible::after { opacity: var(--st-focus); }
.wp-block-button .wp-block-button__link:active::after { opacity: var(--st-press); }
.wp-block-button .wp-block-button__link:active { transform: scale(.97); transition-duration: 100ms; }
.wp-block-button.btn--filled .wp-block-button__link { background: var(--warm); color: var(--on-warm); }
.wp-block-button.btn--tonal .wp-block-button__link { background: var(--s-highest); color: var(--on); }
.wp-block-button.btn--outlined .wp-block-button__link { border-color: var(--outline); color: var(--on); }
.wp-block-button.btn--text .wp-block-button__link { padding: 0 .9rem; min-height: 44px; color: var(--accent); }
.wp-block-button.btn--xl .wp-block-button__link { min-height: 64px; padding: 0 2.6rem; font-size: 1.0625rem; }
.wp-block-button.has-arrow .wp-block-button__link::before { content: ""; order: 2; width: 18px; height: 18px; background: currentColor; transition: transform 400ms var(--ease-dec);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.wp-block-button.has-arrow .wp-block-button__link:hover::before { transform: translateX(4px); }
.dock-mobile .wp-block-button { flex: 1; } .dock-mobile .wp-block-button__link { width: 100%; }
.dock-mobile { gap: .5rem; }

/* ── Cabecera con el bloque Navigation ── */
.app-bar .in { display: flex; align-items: center; gap: .5rem; height: 72px; padding-inline: var(--m); max-width: 1680px; margin-inline: auto; }
.app-bar .brand { margin-right: auto; display: flex; align-items: center; } .app-bar .brand img { height: 46px; width: auto; filter: brightness(1.18) saturate(1.05); }
.app-bar .wp-block-navigation { font: 500 .9375rem/1 var(--f-sans); color: var(--on-var); }
.app-bar .wp-block-navigation__container { gap: .1rem; }
.app-bar .wp-block-navigation .wp-block-navigation-item__content { padding: .7rem .8rem; border-radius: var(--r-full); color: var(--on-var); text-decoration: none; transition: color 200ms; }
.app-bar .wp-block-navigation .wp-block-navigation-item__content:hover, .app-bar .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content, .app-bar .wp-block-navigation [aria-current] { color: var(--on); }
.app-bar .wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: .15rem; } .app-bar .wp-block-navigation .wp-block-navigation__submenu-icon svg { stroke: currentColor; }
.app-bar .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container { background: rgba(17, 20, 40, .94) !important; -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border: 1px solid var(--outline-var) !important; border-radius: var(--r-lg); padding: .5rem; min-width: 15rem; color: var(--on); }
.app-bar .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--on); padding: .75rem 1rem; border-radius: var(--r-md); }
.app-bar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--s-highest); }
.wp-block-navigation__responsive-container-open { color: var(--on); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--s-lowest) !important; color: var(--on) !important; padding: 100px var(--m) 2rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font: 400 clamp(2rem, 9vw, 3rem)/1.15 var(--f-display); color: var(--on); padding: .25rem 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static; background: transparent !important; border: 0 !important; padding: 0 0 0 1rem; min-width: 0; opacity: 1; visibility: visible; height: auto; width: auto; overflow: visible; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font: 400 1.25rem/1.4 var(--f-sans); color: var(--on-var); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.wp-block-navigation__responsive-container-close { color: var(--on); top: 22px; right: 20px; }
@media (min-width: 600px) and (max-width: 959px) {   /* el menú desplegable pasa a hamburguesa por debajo de 960px (WordPress lo hace a 600px) */
  .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.app-bar .tools { display: flex; margin-left: .25rem; } @media (max-width: 959px) { .app-bar .tools { display: none; } }

/* ── Pie ── */
.site-footer .cols { display: grid; gap: 2.5rem; } @media (min-width: 800px) { .site-footer .cols { grid-template-columns: 1.5fr repeat(4, 1fr); } }
.site-footer .foot-logo img { width: 200px; height: auto; margin-bottom: 1rem; }
.site-footer .legal { margin-top: 3rem; }
.site-footer .wp-block-list li { margin: 0; }

/* ── Detalles (FAQ / temario) con el bloque core/details ── */
.faq .wp-block-details { border-bottom: 1px solid var(--outline-var); } .faq .wp-block-details summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 1rem; min-height: 68px; padding: .75rem 0; font: 500 1.0625rem/1.3 var(--f-sans); }
.faq .wp-block-details summary::marker, .faq .wp-block-details summary::-webkit-details-marker { display: none; content: ""; }
.faq .wp-block-details summary::after { content: "+"; margin-left: auto; font: 300 1.75rem/1 var(--f-sans); color: var(--accent); transition: transform 350ms var(--ease); } .faq .wp-block-details[open] summary::after { transform: rotate(45deg); }

/* ── Editor: lo que en la web aparece con JS se ve siempre ── */
.editor-styles-wrapper .reveal, .editor-styles-wrapper .media { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.editor-styles-wrapper .portrait { position: relative; width: 100%; height: 480px; }
@media (min-width: 960px) { .wp-block-buttons.dock-mobile { display: none; } }

/* ── WooCommerce: base mínima para que sus plantillas por defecto queden dentro del diseño (el diseño propio de tienda es la siguiente fase) ── */
.woocommerce main.wp-block-group, main.wp-block-group.is-layout-constrained { padding: clamp(2rem, 5vw, 4rem) var(--m) clamp(4rem, 8vw, 7rem); max-width: 1680px; margin-inline: auto; }
.woocommerce .wp-block-woocommerce-product-collection .wp-block-post-template { gap: 2rem; }
.woocommerce .wp-block-button__link, .woocommerce .wc-block-components-button { border-radius: var(--r-full); }
.woocommerce .wp-block-post-title, .woocommerce .wp-block-post-title a { font-family: var(--f-display); font-weight: 400; text-decoration: none; }
.woocommerce .price, .woocommerce .wc-block-components-product-price { color: var(--accent); }
.woocommerce input, .woocommerce select, .woocommerce textarea { background: transparent; color: var(--on); border: 1px solid var(--outline); border-radius: var(--r-xs); }

/* ajustes tras la prueba en WordPress */
.wp-block-buttons.hide-m { display: none; } @media (min-width: 1240px) { .wp-block-buttons.hide-m { display: flex; } }
.app-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; backdrop-filter: none; -webkit-backdrop-filter: none; padding: 0 0 0 1rem; }
.app-bar .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { outline-offset: 2px; }
