@layer reset, base, layout, components, blocks, utilities;
/* Targeted color overrides preserve contrast against unlayered WordPress global link styles. */
@layer components {
  .gl-icon { width: 1.5rem; height: 1.5rem; flex: 0 0 auto; fill: none; }
  .gl-button, .wp-block-button__link {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--wp--preset--spacing--sm);
    min-height: 3rem; padding: .8rem 1.35rem; border: 1px solid transparent;
    border-radius: var(--wp--custom--radius--default); background: var(--wp--preset--color--vermelho);
    color: var(--wp--preset--color--branco) !important; font-family: var(--wp--preset--font-family--outfit);
    font-weight: 600; line-height: 1.3; text-decoration: none; text-align: center;
    transition: background .2s, transform .2s, box-shadow .2s;
    &:hover { background: var(--wp--preset--color--vermelho-escuro); transform: translateY(-2px); }
    &:active { transform: none; }
  }
  .gl-button--light { background: var(--wp--preset--color--branco); color: var(--wp--preset--color--cafe) !important; &:hover { background: var(--wp--preset--color--areia); } }
  .gl-button--outline, .is-style-outline > .wp-block-button__link { background: transparent; border-color: currentColor; color: var(--wp--preset--color--cafe) !important; &:hover { background: var(--wp--preset--color--areia); } }
  .gl-brand { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--wp--preset--color--cafe) !important; flex-shrink: 0; }
  .gl-brand__name { font-family: var(--wp--preset--font-family--outfit); font-size: 2rem; font-weight: 800; line-height: 1.1; letter-spacing: -.04em; & > span { color: var(--wp--preset--color--vermelho); } }
  .gl-brand__tagline { font-size: .5625rem; letter-spacing: .07em; font-weight: 700; text-transform: uppercase; margin-top: .5rem; }
  .custom-logo-link { display: inline-flex; flex-shrink: 0; }
  .custom-logo, .gl-brand__image { width: auto; height: auto; max-width: min(13rem, 50vw); max-height: 4rem; object-fit: contain; }
  .gl-header-sentinel { height: 1px; }
  .gl-site-header { position: sticky; top: 0; z-index: 100; padding-block: 0; background: var(--wp--preset--color--off-white); border-bottom: 1px solid var(--wp--preset--color--areia); }
  .gl-site-header.is-scrolled { background: color-mix(in srgb, var(--wp--preset--color--off-white) 94%, transparent); backdrop-filter: blur(8px); box-shadow: var(--wp--custom--shadow--card); }
  .admin-bar .gl-site-header { top: 32px; }
  .gl-header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--md); min-height: 6rem; padding-block: var(--wp--preset--spacing--md); }
  .gl-header-actions { display: flex; align-items: center; gap: var(--wp--preset--spacing--sm); }
  .gl-header-cta { display: none; }
  .gl-menu { list-style: none; padding: 0; margin: 0; & a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; } }
  .gl-nav-primary { display: none; }
  .gl-menu-toggle, .gl-menu-close { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-width: 44px; min-height: 44px; padding: .5rem; border: 1px solid currentColor; border-radius: var(--wp--custom--radius--default); background: transparent; color: var(--wp--preset--color--cafe); cursor: pointer; font-weight: 600; }
  .gl-menu-close { color: var(--wp--preset--color--branco); }
  .gl-mobile-menu {
    position: static; width: 100%; max-width: none; max-height: none; margin: 0; padding: var(--wp--preset--spacing--lg); border: 0;
    background: var(--wp--preset--color--cafe-profundo); color: var(--wp--preset--color--branco);
    & .gl-menu { margin-block: var(--wp--preset--spacing--lg); }
    & .gl-menu a { color: var(--wp--preset--color--branco) !important; padding-block: .45rem; font-family: var(--wp--preset--font-family--outfit); font-size: var(--wp--preset--font-size--headline-md); }
    & .sub-menu, & .children { list-style: none; padding-left: var(--wp--preset--spacing--lg); & a { font-size: var(--wp--preset--font-size--body); } }
    & [aria-current="page"] { text-decoration: underline; text-underline-offset: .3em; }
    &:modal { position: fixed; inset: 0; width: 100%; height: 100dvh; overflow-y: auto; padding: max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(2rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left)); }
    &::backdrop { background: var(--wp--preset--color--cafe-profundo); }
  }
  .gl-mobile-menu__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; & p { font-weight: 700; } }
  .gl-mobile-menu__signature { color: var(--wp--preset--color--areia); margin-top: var(--wp--preset--spacing--2-xl); font-size: var(--wp--preset--font-size--small); }
  .gl-breadcrumbs { margin-bottom: var(--wp--preset--spacing--xl); font-size: var(--wp--preset--font-size--small); & a { color: var(--wp--preset--color--cafe); } }
  .gl-footer {
    position: relative; background: var(--wp--preset--color--cafe-profundo); color: var(--wp--preset--color--areia); padding-top: 0;
    & a { color: var(--wp--preset--color--areia) !important; text-decoration: none; &:hover { text-decoration: underline; text-underline-offset: .25em; } }
    & :focus-visible { outline-color: var(--wp--preset--color--branco); }
    & .gl-brand { color: var(--wp--preset--color--branco) !important; }
    & .gl-brand__name > span { color: var(--wp--preset--color--branco); }
  }
  .gl-footer__brush { display: block; width: 100%; height: 16px; pointer-events: none; color: var(--wp--preset--color--vermelho); }
  .gl-footer__grid { display: grid; gap: var(--wp--preset--spacing--xl); padding-block: var(--wp--preset--spacing--2-xl, var(--wp--preset--spacing--xl)); }
  .gl-footer__intro p { max-width: 34ch; margin-top: var(--wp--preset--spacing--lg); }
  .gl-footer__title { color: var(--wp--preset--color--branco) !important; font-size: var(--wp--preset--font-size--title) !important; margin: 0 0 var(--wp--preset--spacing--md); }
  .gl-footer__list { list-style: none; padding: 0; margin: 0; & li { padding-block: .55rem; } }
  .gl-footer__contact { display: flex; align-items: start; gap: .65rem; padding-block: .5rem; overflow-wrap: anywhere; }
  .gl-social { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; & a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid color-mix(in srgb, var(--wp--preset--color--areia) 30%, transparent); border-radius: var(--wp--custom--radius--pill); &:hover { background: var(--wp--preset--color--cafe); } } }
  .gl-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--wp--preset--spacing--md); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--areia) 20%, transparent); padding-block: var(--wp--preset--spacing--lg); padding-bottom: 6rem; font-size: var(--wp--preset--font-size--small); & p { margin: 0; } & a { min-height: 24px; } }
  .gl-whatsapp-float { position: fixed; z-index: 90; right: max(1.25rem, env(safe-area-inset-right)); bottom: max(1.25rem, env(safe-area-inset-bottom)); width: 60px; height: 60px; display: grid; place-items: center; background: var(--wp--preset--color--whatsapp); color: var(--wp--preset--color--branco); border-radius: var(--wp--custom--radius--pill); box-shadow: var(--wp--custom--shadow--whatsapp); color: var(--wp--preset--color--branco) !important; transition: transform .2s; & .gl-icon { width: 30px; height: 30px; } &:hover { transform: translateY(-3px); } &:hover .gl-whatsapp-float__label, &:focus-visible .gl-whatsapp-float__label { opacity: 1; } }
  .gl-whatsapp-float__label { position: absolute; right: calc(100% + .75rem); width: max-content; max-width: 60vw; pointer-events: none; opacity: 0; padding: .5rem .75rem; border-radius: var(--wp--custom--radius--default); background: var(--wp--preset--color--branco); color: var(--wp--preset--color--cafe); box-shadow: var(--wp--custom--shadow--card); }
  @media (min-width: 48rem) {
    .gl-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gl-header-cta { display: inline-flex; }
  }
  @media (min-width: 64rem) {
    .gl-header-inner { gap: .75rem; }
    .gl-nav-primary { display: block; & > .gl-menu { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .1rem .8rem; } & a { color: var(--wp--preset--color--cafe) !important; font-weight: 600; font-size: var(--wp--preset--font-size--small); } & a:hover, & [aria-current="page"], & .current-menu-ancestor > a { color: var(--wp--preset--color--vermelho) !important; text-decoration: underline; text-underline-offset: .4em; } & li { position: relative; } & .sub-menu, & .children { display: none; position: absolute; top: 100%; left: 0; min-width: 14rem; padding: .75rem; list-style: none; background: var(--wp--preset--color--off-white); box-shadow: var(--wp--custom--shadow--card); } & li:hover > ul, & li:focus-within > ul { display: block; } }
    .gl-menu-toggle, .gl-mobile-menu { display: none; }
    .gl-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; }
  }
  @media (max-width: 782px) { .admin-bar .gl-site-header { top: 46px; } }
  @media (max-width: 600px) { .admin-bar .gl-site-header { top: 0; } }
}
@layer utilities {
  [hidden], dialog:not([open]) { display: none !important; }
  .gl-menu-is-open { overflow: hidden; }
}
