/* Header geometry and booking control ported from the existing Min Sos site. */
:root, .editor-styles-wrapper {
  --minsos-header-height: 4.5rem;
  --minsos-logo-size: 8rem;
  --minsos-gutter: var(--wp--custom--gutter);
  --minsos-admin-offset: 0px;
  --minsos-border: color-mix(in srgb,var(--wp--preset--color--ink) 15%,transparent);
}
body.admin-bar { --minsos-admin-offset: 32px; }
.minsos-header { position: fixed; inset: var(--minsos-admin-offset) 0 auto; z-index: 70; background: var(--wp--preset--color--white); }
.minsos-header-row {
  display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  align-items: center; gap: 1rem; height: calc(var(--minsos-header-height) + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) var(--minsos-gutter) 0;
}
.minsos-header-row > * { margin: 0; }
.minsos-header-row { background: var(--wp--preset--color--white); }
.minsos-logo { background: var(--wp--preset--color--white); border-radius: 50%; }
.minsos-logo { position: absolute; left: var(--minsos-gutter); top: env(safe-area-inset-top); width: var(--minsos-logo-size); height: var(--minsos-logo-size); z-index: 2; }
.minsos-logo a { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: var(--wp--preset--color--white); }
.minsos-logo img { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.3); }
.minsos-navigation { grid-column: 2; min-width: 0; justify-content: center; font-size: var(--wp--preset--font-size--body); font-weight: 700; text-transform: uppercase; }
.minsos-navigation .wp-block-navigation__container { gap: 1.5rem; }
.minsos-navigation .wp-block-navigation-item__content { position: relative; padding: .68rem .88rem .82rem; color: var(--wp--preset--color--ink); text-decoration: none; line-height: 1.4; }
.minsos-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
  content: ''; position: absolute; left: .72rem; right: .72rem; bottom: .36rem;
  height: .14rem; border-radius: 99px; background: var(--wp--preset--color--red);
  transform: scaleX(0); transform-origin: left; transition: transform 280ms ease;
}
.minsos-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover,:focus-visible,[aria-current="page"])::after { transform: scaleX(1); }
.minsos-navigation .wp-block-navigation__submenu-container {
  top: calc(100% + .25rem); min-width: 17rem; max-width: calc(100vw - 2 * var(--minsos-gutter)); padding: .5rem;
  border: 1px solid var(--minsos-border); border-radius: 8px; background: var(--wp--preset--color--white);
  box-shadow: 0 10px 28px color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent);
}
.minsos-navigation .wp-block-navigation__submenu-container a { min-height: 44px; padding: .65rem .75rem; border-radius: 4px; font-size: var(--wp--preset--font-size--label); }
.minsos-navigation .wp-block-navigation__submenu-container a:is(:hover,:focus-visible) { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--red); }
.minsos-navigation .has-child:has(> [aria-expanded="true"]) > .wp-block-navigation__submenu-container { visibility: visible; opacity: 1; height: auto; overflow: visible; width: auto; }
.minsos-language { grid-column: 3; justify-self: end; position: relative; z-index: 3; }
.minsos-language summary { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 8px; color: var(--wp--preset--color--red); list-style: none; cursor: pointer; }
.minsos-language summary::-webkit-details-marker { display: none; }
.minsos-language summary svg { width: 28px; height: 28px; }
.minsos-language summary:hover { background: var(--wp--preset--color--paper); }
.minsos-language-links { position: absolute; right: 0; top: calc(100% + var(--wp--preset--spacing--4)); margin: 0; min-width: 10rem; padding: .375rem; border: 1px solid var(--minsos-border); border-radius: 8px; background: var(--wp--preset--color--white); box-shadow: 0 8px 28px #24221f24; }
.minsos-language-links p { margin: 0; }
.minsos-language-links a { display: block; min-height: 44px; padding: .625rem .75rem; font-weight: 700; text-decoration: none; }
.minsos-language-links a:hover { color: var(--wp--preset--color--red); background: var(--wp--preset--color--paper); }
.minsos-header :is(a,button,summary):focus-visible { outline: 2px solid var(--wp--preset--color--red); outline-offset: 3px; }
.minsos-mobile-extras { display: none; }
.minsos-book-control { display: contents !important; }
.minsos-book-control .wp-block-button { margin: 0; }
.minsos-book-control .wp-block-button__link {
  position: fixed; bottom: calc(1rem + env(safe-area-inset-bottom)); left: 50%; z-index: 35;
  transform: translate3d(-50%,var(--book-offset,0px),0); display: grid; place-items: center;
  box-sizing: border-box; width: 6.875rem; height: 4.375rem; max-width: calc(100vw - 2rem);
  padding: .5rem .75rem; border: 1px solid transparent; border-radius: 999px;
  background: var(--wp--preset--color--red); color: var(--wp--preset--color--white);
  box-shadow: 0 0 1rem color-mix(in srgb,var(--wp--preset--color--red) 30%,transparent),0 .75rem 2rem color-mix(in srgb,var(--wp--preset--color--red) 40%,transparent);
  font-size: var(--wp--preset--font-size--body); font-weight: 700; line-height: 1.2; text-transform: uppercase; transition: background-color 160ms ease;
}
.minsos-book-artwork { display: block; width: 5.25rem; height: 3.15rem; max-width: none; object-fit: contain; filter: brightness(0) invert(1); }
.minsos-book-control .wp-block-button__link:hover { background: var(--wp--preset--color--red-deep); }
.minsos-book-control .wp-block-button__link:focus-visible { outline: 2px solid var(--wp--preset--color--ink); outline-offset: 4px; }
@media (min-width: 1025px) {
  .minsos-navigation .wp-block-navigation__submenu-container { min-width: 24rem !important; width: max-content; padding: var(--wp--preset--spacing--12) !important; }
  .minsos-navigation .wp-block-navigation__submenu-container a { padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16) !important; white-space: nowrap; }
  .minsos-navigation .wp-block-navigation__responsive-container-open { display: none !important; }
  .minsos-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; }
}
@media (max-width: 1024px) {
  :root, .editor-styles-wrapper { --minsos-header-height: 4rem; --minsos-logo-size: 6.5rem; }
  body { padding-bottom: calc(6rem + env(safe-area-inset-bottom)); }
  .minsos-header-row { grid-template-columns: minmax(0,1fr) 44px auto; gap: 1rem; }
  .minsos-navigation { grid-column: 3; justify-self: end; }
  .minsos-language { grid-column: 2; grid-row: 1; }
  .minsos-logo, .minsos-language { z-index: 100002; }
  .minsos-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { position: relative; z-index: 100002; display: inline-flex !important; align-items: center; justify-content: flex-start; gap: .5rem; width: 4.625rem; height: 44px; padding: .5rem 0; color: var(--wp--preset--color--red); font-size: var(--wp--preset--font-size--label); font-weight: 700; line-height: 1; text-transform: uppercase; }
  .minsos-toggle-symbol { position: relative; width: 23px; height: 23px; flex: 0 0 23px; }
  .minsos-toggle-symbol svg { position: absolute; inset: 0; width: 23px; height: 23px; transition: transform 380ms cubic-bezier(.22,1,.36,1),opacity 220ms ease; }
  .minsos-toggle-x { opacity: 0; transform: rotate(-90deg) scale(.6); }
  [aria-expanded="true"] > .minsos-toggle-symbol .minsos-toggle-menu { opacity: 0; transform: rotate(90deg) scale(.6); }
  [aria-expanded="true"] > .minsos-toggle-symbol .minsos-toggle-x { opacity: 1; transform: none; }
  .minsos-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .minsos-navigation .wp-block-navigation__responsive-container.is-menu-open {
    top: calc(var(--minsos-header-height) + env(safe-area-inset-top) + var(--minsos-admin-offset));
    padding: calc(var(--minsos-logo-size) / 2 + 1rem) var(--minsos-gutter) calc(1.25rem + env(safe-area-inset-bottom));
    background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
    animation: minsos-menu-in 220ms ease-out;
  }
  .minsos-navigation .wp-block-navigation__responsive-close { width: 100%; max-width: none; }
  .minsos-navigation .wp-block-navigation__responsive-dialog { margin: 0 !important; min-height: calc(100dvh - 11rem - var(--minsos-admin-offset)); display: flex; }
  .minsos-navigation .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding: 0 !important; gap: 0 !important; width: 100%; flex: 1; }
  .minsos-navigation .wp-block-navigation__responsive-container-close { display: none !important; }
  .minsos-navigation .is-menu-open .wp-block-navigation__container { width: 100%; gap: 0 !important; align-items: stretch !important; }
  .minsos-navigation .is-menu-open .wp-block-navigation__container > li { width: 100%; border-bottom: 1px solid var(--minsos-border); align-items: stretch; }
  .minsos-navigation .is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; padding: .5rem 0; }
  .minsos-navigation .is-menu-open .wp-block-navigation-item__content::after { display: none; }
  .minsos-navigation .is-menu-open .wp-block-navigation-submenu__toggle { display: inline-flex !important; }
  .minsos-navigation .is-menu-open .wp-block-navigation-submenu__toggle svg { display: none; }
  .minsos-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle::after { content: '+'; display: inline; position: static; background: none; height: auto; transform: none; font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--red); }
  .minsos-navigation .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle[aria-expanded="true"]::after { content: '\2212'; }
  .minsos-navigation .is-menu-open .wp-block-navigation__submenu-container { position: static !important; padding: 0 0 .75rem .75rem !important; min-width: 0; width: 100%; max-width: none; border: 0; box-shadow: none; }
  .minsos-navigation .is-menu-open .has-child:not(:has(> [aria-expanded="true"])) > .wp-block-navigation__submenu-container { display: none !important; }
  .minsos-navigation .is-menu-open .has-child:has(> [aria-expanded="true"]) > .wp-block-navigation__submenu-container { display: flex !important; visibility: visible; opacity: 1; height: auto; overflow: visible; }
  .minsos-navigation .is-menu-open .wp-block-navigation__submenu-container,
  .minsos-navigation .is-menu-open .wp-block-navigation__submenu-container li { align-items: flex-start !important; text-align: left; }
  .minsos-navigation .is-menu-open .minsos-mobile-extras { display: flex; flex: 1; flex-direction: column; width: 100%; gap: 0; font-size: var(--wp--preset--font-size--body); }
  .minsos-menu-terms,.minsos-menu-job { margin: 0; border-bottom: 1px solid var(--minsos-border); }
  .minsos-menu-terms summary,.minsos-menu-job a { display: flex; align-items: center; justify-content: space-between; padding: .5rem 0; min-height: 44px; font-size: var(--wp--preset--font-size--body); line-height: var(--wp--custom--leading--control); font-weight: 700; list-style: none; text-decoration: none; cursor: pointer; }
  .minsos-menu-terms summary::-webkit-details-marker { display: none; }
  .minsos-menu-terms summary::after { content: '+'; font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--red); }
  .minsos-menu-terms[open] summary::after { content: '\2212'; }
  .minsos-menu-terms p { margin: 0; padding: .65rem .75rem; font-size: var(--wp--preset--font-size--label); }
  .minsos-menu-terms a { text-decoration: none; }
  .minsos-menu-contacts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; margin-top: auto; padding-top: 3rem; text-transform: none; font-size: var(--wp--preset--font-size--label); font-weight: 400; }
  .minsos-menu-contacts p { display: flex; align-items: center; gap: .375rem; margin: 0; padding: .5rem; min-height: 3.5rem; min-width: 0; border: 1px solid var(--minsos-border); border-radius: 8px; background: var(--wp--preset--color--white); box-shadow: 0 2px 6px #24221f0a; line-height: 1.4; }
  .minsos-menu-contacts a { display: flex; align-items: center; gap: .375rem; min-width: 0; text-decoration: none; overflow-wrap: anywhere; }
  .minsos-menu-contacts svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--wp--preset--color--red); }
  .minsos-menu-contacts .minsos-contact-email { grid-column: 1/-1; justify-content: center; min-height: 2.75rem; }
  .minsos-menu-social { display: flex; justify-content: center; gap: 1rem; padding-top: 1rem; }
  .minsos-menu-social p { margin: 0; display: grid; place-items: center; width: 44px; height: 44px; color: var(--wp--preset--color--red); }
  .minsos-menu-social svg { width: 24px; height: 24px; }
  .minsos-menu-rights { margin: 1rem 0 0; text-align: center; font-size: .875rem; font-weight: 400; text-transform: none; }
  .minsos-book-control .wp-block-button__link { bottom: calc(.975rem + env(safe-area-inset-bottom)); width: 4.75rem; height: 3.75rem; padding: .35rem .5rem; transform: translateX(-50%); z-index: 60; }
  .minsos-book-artwork { width: 3.5rem; height: 2.1rem; }
}
@media (max-width: 782px) { body.admin-bar { --minsos-admin-offset: 46px; } }
@keyframes minsos-menu-in { from { opacity: 0; transform: translateY(-.5rem); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .minsos-header *, .minsos-header *::after { animation: none !important; transition: none !important; } }
