/* Copyright © Felipe Badecam — Todos os direitos reservados. */
:root{
  --fm-font: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --fm-bg: #fff;
  --fm-fg: #000;
  --fm-muted: rgba(0,0,0,.72);
  --fm-card: rgba(0,0,0,.03);
  --fm-border: rgba(0,0,0,.10);
  --fm-shadow: 0 10px 30px rgba(0,0,0,.12);
  --fm-grad: radial-gradient(900px 500px at 10% 10%, rgba(255,0,180,.10), transparent 60%),
             radial-gradient(900px 500px at 90% 20%, rgba(0,200,255,.12), transparent 60%),
             radial-gradient(900px 500px at 40% 90%, rgba(0,255,160,.10), transparent 60%);
  --fm-header-h: 56px;
  --fm-footer-h: 56px;
}

html{ box-sizing:border-box; }
*,*:before,*:after{ box-sizing:inherit; }

body{
  margin:0;
  font-family: var(--fm-font);
  background: var(--fm-bg);
  color: var(--fm-fg);
}

a{ color:inherit; }
a:focus{ outline:2px solid rgba(0,200,255,.6); outline-offset:2px; }

.fm-skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;height:1px; overflow:hidden;
}
.fm-skip-link:focus{
  left:12px; top:12px; width:auto;height:auto; padding:10px 12px;
  background:#111522; border:1px solid var(--fm-border); border-radius:12px;
  z-index:999999;
}

.fm-header, .fm-footer{
  background: var(--fm-grad);
  border-bottom: 1px solid var(--fm-border);
  backdrop-filter: blur(10px);
}
.fm-footer{ border-bottom:none; border-top: 1px solid var(--fm-border); }

.fm-bar{
  min-height: var(--fm-header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 10px 14px;
}

.fm-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width: 0;
}
.fm-brand .custom-logo{ height:34px; width:auto; display:block; }
.fm-brand .fm-title{
  font-weight:700;
  letter-spacing:.2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width: 44vw;
}

.fm-nav, .fm-nav ul{
  list-style:none;
  margin:0;
  padding:0;
}
.fm-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.fm-nav a{
  text-decoration:none;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid transparent;
  color: var(--fm-muted);
}
.fm-nav a:hover{
  color: var(--fm-fg);
  border-color: var(--fm-border);
  background: rgba(255,255,255,.04);
}

.fm-content{
  min-height: calc(100vh - var(--fm-header-h) - var(--fm-footer-h));
}

/* Layout: container padrão */
.fm-container{
  width: min(1100px, 100%);
  margin: 0 auto;
  padding: 0px;
}

/* Full-width / Canvas */
body.fm-layout-fullwidth .fm-container,
body.fm-layout-canvas .fm-container{
  width: 100%;
  max-width: none;
  padding: 0;
}
body.fm-layout-fullwidth .fm-content,
body.fm-layout-canvas .fm-content{
  padding: 0;
}

/* Canvas esconde header/footer */
body.fm-layout-canvas .fm-header,
body.fm-layout-canvas .fm-footer{
  display:none;
}
body.fm-layout-canvas .fm-content{
  min-height: 100vh;
}

/* Mobile fixo (opcional) */
@media (max-width: 782px){
  body.fm-mobile-header-fixed .fm-header{
    position: fixed;
    top:0; left:0; right:0;
    z-index: 9999;
  }
  body.fm-mobile-footer-fixed .fm-footer{
    position: fixed;
    bottom:0; left:0; right:0;
    z-index: 9999;
  }
  body.fm-mobile-header-fixed .fm-content{
    padding-top: 0 !important;
  }
  body.fm-mobile-footer-fixed .fm-content{
    padding-bottom: var(--fm-footer-h);
  }
}

/* Misc */
.fm-muted-link{ color: var(--fm-muted); }


/* ✅ Dock do menu mobile (translúcido e legível no Dia/Noite) */
@media (max-width: 782px){
  body.fm-mobile-footer-fixed .fm-footer{
    background: transparent !important;
    border-top: 0 !important;
  }
  body.fm-mobile-footer-fixed .fm-footer .fm-bar{
    background: transparent !important;
  }
  body.fm-mobile-footer-fixed .fm-footer .fm-bar:first-child{
    justify-content:center;
  }
  body.fm-mobile-footer-fixed .fm-footer .fm-bar:first-child .fm-nav ul{
    background: var(--fm-dock-bg, rgba(0,0,0,.55));
    border: 1px solid var(--fm-dock-border, rgba(255,255,255,.12));
    border-radius: 18px;
    padding: 8px 10px;
    gap: 14px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
  }
  body.fm-mobile-footer-fixed .fm-footer .fm-bar:first-child .fm-nav a{
    color: var(--fm-dock-muted, rgba(255,255,255,.78));
    border: 1px solid transparent;
    background: transparent;
    padding: 9px 10px;
    border-radius: 14px;
  }
  body.fm-mobile-footer-fixed .fm-footer .fm-bar:first-child .fm-nav a:hover{
    color: var(--fm-dock-text, rgba(255,255,255,.92));
    background: var(--fm-dock-active-bg, rgba(255,255,255,.08));
    border-color: var(--fm-dock-border, rgba(255,255,255,.12));
  }
  /* Item atual do menu (WordPress usa current-menu-item/current_page_item) */
  body.fm-mobile-footer-fixed .fm-footer .fm-bar:first-child .fm-nav li.current-menu-item > a,
  body.fm-mobile-footer-fixed .fm-footer .fm-bar:first-child .fm-nav li.current_page_item > a{
    color: var(--fm-dock-text, rgba(255,255,255,.92));
    background: var(--fm-dock-active-bg, rgba(255,255,255,.10));
    border-color: var(--fm-dock-border, rgba(255,255,255,.12));
  }
}

.fm-bar--mobile-top,
.fm-bar--mobile-bottom{
  min-height: 44px;
}
.fm-bar--mobile-top{
  padding-top: 0;
}
.fm-bar--mobile-bottom{
  padding-bottom: 0;
}

.fm-article{
  padding: 18px 0;
}
.fm-article + .fm-article,
.fm-article + #comments,
#comments + .fm-article{
  border-top: 1px solid var(--fm-border);
}
.fm-entry-header{
  margin: 0 0 14px;
}
.fm-entry-title{
  margin: 0;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.fm-entry-title--excerpt{
  font-size: clamp(1.2rem, 2vw, 1.5rem);
}
.fm-entry-title a{
  text-decoration: none;
}
.fm-entry-title a:hover{
  text-decoration: underline;
}
.fm-entry-meta{
  color: var(--fm-muted);
  font-size: 14px;
  margin-top: 8px;
}
.fm-entry-content{
  min-width: 0;
}
.fm-entry-content > *:first-child{
  margin-top: 0;
}
.fm-entry-content > *:last-child{
  margin-bottom: 0;
}
.fm-entry-content img{
  max-width: 100%;
  height: auto;
}

@media (min-width: 783px){
  .fm-bar--mobile-top,
  .fm-bar--mobile-bottom{
    display: none;
  }
}

@media (max-width: 782px){
  .fm-bar--header .fm-nav{
    display:none;
  }
  .fm-brand .fm-title{
    max-width: 70vw;
  }
}


.fm-site-info{
  color: rgba(0,0,0,.55);
  font-size:12px;
}

.fm-bar--mobile-top,
.fm-bar--mobile-bottom{
  display:none;
}

.fm-entry-content,
.fm-entry-content > *{
  max-width: 100%;
}

.fm-entry-content img,
.fm-entry-content iframe,
.fm-entry-content video,
.fm-entry-content embed,
.fm-entry-content object{
  max-width:100%;
  height:auto;
}

.fm-entry-content table{
  width:100%;
  border-collapse: collapse;
  display:block;
  overflow-x:auto;
}

.fm-entry-content th,
.fm-entry-content td{
  border:1px solid var(--fm-border);
  padding:10px;
}

.fm-entry-meta{
  margin-top:8px;
  color: var(--fm-muted);
  font-size: 14px;
}

.fm-entry-title--excerpt{
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.fm-archive-header,
.fm-empty-state,
.fm-comments-area{
  padding: 18px 0;
}

.fm-archive-description,
.fm-empty-state p{
  color: var(--fm-muted);
}

.fm-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--fm-border);
  background: rgba(0,0,0,.04);
  text-decoration:none;
  color: var(--fm-fg);
  cursor:pointer;
}

.fm-button:hover,
.fm-button:focus-visible{
  background: rgba(0,0,0,.07);
}

.fm-button--primary{
  border-color: rgba(180,122,34,.35);
  background: linear-gradient(135deg,#d9a24a,#b47a22);
  color: #fffaf2;
  box-shadow: 0 14px 30px rgba(180,122,34,.18);
}

.fm-button--primary:hover,
.fm-button--primary:focus-visible{
  background: linear-gradient(135deg,#c98a2f,#9a681d);
}

.fm-not-found{
  width: min(880px, calc(100% - 28px));
  margin: clamp(42px, 8vw, 96px) auto;
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid rgba(180,122,34,.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at 10% 8%, rgba(217,162,74,.22), transparent 28%),
    linear-gradient(145deg, rgba(255,253,248,.96), rgba(255,247,232,.88));
  box-shadow: 0 24px 70px rgba(90,54,10,.10);
  text-align: center;
}

.fm-not-found__kicker{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 38px;
  margin-bottom: 16px;
  border-radius: 999px;
  border: 1px solid rgba(180,122,34,.28);
  background: rgba(255,255,255,.68);
  color: #9a681d;
  font-weight: 800;
}

.fm-not-found__title{
  margin: 0;
  color: var(--fm-fg);
  font-size: clamp(2rem, 6vw, 4.4rem);
  line-height: 1;
}

.fm-not-found__text{
  max-width: 620px;
  margin: 18px auto 0;
  color: var(--fm-muted);
  font-size: clamp(1rem, 2vw, 1.14rem);
  line-height: 1.65;
}

.fm-not-found__search{
  max-width: 680px;
  margin: 28px auto 0;
}

.fm-not-found__search form,
.fm-not-found__search .search-form{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
}

.fm-not-found__search input[type="search"],
.fm-not-found__search input[type="text"]{
  width: 100%;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(90,54,10,.16);
  background: rgba(255,255,255,.78);
  padding: 0 16px;
  color: var(--fm-fg);
}

.fm-not-found__search input[type="submit"],
.fm-not-found__search button{
  min-height: 48px;
  border-radius: 16px;
}

.fm-not-found__actions{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

html.felipe-theme-night .fm-not-found,
body.felipe-theme-night .fm-not-found{
  border-color: rgba(217,162,74,.22);
  background:
    radial-gradient(circle at 10% 8%, rgba(217,162,74,.18), transparent 28%),
    linear-gradient(145deg, rgba(11,19,36,.96), rgba(7,16,33,.92));
  box-shadow: 0 24px 70px rgba(0,0,0,.26);
}

html.felipe-theme-night .fm-not-found__kicker,
body.felipe-theme-night .fm-not-found__kicker{
  background: rgba(255,255,255,.07);
  color: #e2b45d;
}

.fm-searchform{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.fm-searchform__input{
  flex:1 1 280px;
  min-height:42px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--fm-border);
  background:#fff;
  color: var(--fm-fg);
}

.screen-reader-text{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

.fm-comments-title,
.comment-reply-title{
  margin:0 0 14px;
}

.fm-comment-list{
  list-style:none;
  margin:0;
  padding:0;
}

.fm-comment-list .comment{
  padding:14px 0;
  border-top:1px solid var(--fm-border);
}

.fm-comment-list .children{
  list-style:none;
  margin:12px 0 0 18px;
  padding:0;
}

.fm-comments-area .comment-respond{
  margin-top:18px;
}

.fm-comments-area input[type="text"],
.fm-comments-area input[type="email"],
.fm-comments-area input[type="url"],
.fm-comments-area textarea{
  width:100%;
  margin-top:6px;
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--fm-border);
}

.fm-comments-area .submit{
  display:inline-flex;
}

@media (max-width: 782px){
  .fm-nav--desktop,
  .fm-bar--footer{
    display:none;
  }

  .fm-bar--mobile-top,
  .fm-bar--mobile-bottom{
    display:flex;
  }

  .fm-brand .fm-title{
    max-width: 60vw;
  }

  .fm-entry-title{
    font-size: clamp(1.35rem, 5vw, 2rem);
  }
}

@media (min-width: 783px){
  .fm-nav--mobile,
  .fm-nav--mobile-bottom{
    display:none;
  }
}

/* Compat polish moved from inline head CSS. */
.fb-header{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.fb-header *{
  display:none !important;
}

.fb-wrap{
  min-height:0 !important;
}

.fb-content{
  padding:0 !important;
  display:block !important;
  max-width:1440px !important;
}

.fb-post:last-child,
.fb-content > article.fb-post:hover{
  padding:0 !important;
}

.fb-entry{
  padding:10px !important;
}

header > h1{
  display:none !important;
}

main#content{
  background:transparent !important;
}

html.felipe-theme-night,
html.felipe-theme-night body,
html[data-fm-theme="night"],
html[data-fm-theme="night"] body,
html.felipe-theme-night #page,
html.felipe-theme-night .site,
html.felipe-theme-night .site-content,
html.felipe-theme-night main,
html.felipe-theme-night .fm-container{
  background:transparent !important;
}

html.felipe-theme-night body:not(.wp-admin) .felipe-music,
html.felipe-theme-night body:not(.wp-admin) .felipe-feed,
html.felipe-theme-night body:not(.wp-admin) .felipe-busca-page,
html.felipe-theme-night body:not(.wp-admin).felipe-profile-page,
html.felipe-theme-night body:not(.wp-admin) .felipe-members,
html.felipe-theme-night body:not(.wp-admin) .fm-content{
  background:#0b1220 !important;
  background-color:#0b1220 !important;
}

.login #backtoblog a,
#language-switcher{
  display:none !important;
}

body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#registerform .input,
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#registerform input[type="text"],
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#registerform input[type="email"],
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#registerform input[type="password"],
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#registerform select,
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#loginform .input,
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#loginform input[type="text"],
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#loginform input[type="password"],
body.login .fls_login_page_wrap .fls_login_form_wrap .fls_form_wrap form#loginform select{
  margin:0 !important;
}

body,
button,
input,
select,
textarea{
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

.elementor *,
.elementor *:before,
.elementor *:after,
*,
*::before,
*::after{
  box-sizing:border-box;
}

::placeholder{
  color:#c3c3c3 !important;
}

textarea:focus,
input:focus,
select:focus,
button:focus,
*:focus{
  outline:none !important;
}

.fm-footer .fm-nav ul,
.fm-header .fm-nav ul{
  list-style:none !important;
}

.fm-footer .fm-nav li,
.fm-header .fm-nav li{
  margin:0;
}

.fm-footer .fm-nav li::marker,
.fm-header .fm-nav li::marker{
  content:"";
}

.fm-content{
  overflow-x:hidden;
}

body.admin-bar .fm-header{
  top:32px;
}

@media (max-width:782px){
  body.admin-bar .fm-header{
    top:46px;
  }

  .fm-footer{
    padding-bottom:env(safe-area-inset-bottom);
  }
}


/* FelipeMusic 2.0.663 — feedback de toque neutro, teclado continua acessível. */
@media (hover: none), (pointer: coarse) {
  html body:not(.wp-admin) a,
  html body:not(.wp-admin) button,
  html body:not(.wp-admin) [role="button"],
  html body:not(.wp-admin) [tabindex]:not(input):not(textarea) {
    -webkit-tap-highlight-color: transparent !important;
  }
  html body:not(.wp-admin) button,
  html body:not(.wp-admin) [role="button"] {
    user-select: none !important;
    -webkit-user-select: none !important;
  }
  html body:not(.wp-admin) a:focus:not(:focus-visible),
  html body:not(.wp-admin) button:focus:not(:focus-visible),
  html body:not(.wp-admin) [role="button"]:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none;
  }
  html body:not(.wp-admin) a:focus-visible,
  html body:not(.wp-admin) button:focus-visible,
  html body:not(.wp-admin) [role="button"]:focus-visible {
    outline: 2px solid #db7b2c;
    outline-offset: 3px;
  }
}
