/* Seven BarberShop — identidade da referência PDF. */
@font-face {
  font-family: 'Montserrat'; font-style: normal; font-weight: 400;
  font-display: swap; src: url('../fonts/montserrat-400.ttf') format('truetype');
}
@font-face {
  font-family: 'Montserrat'; font-style: normal; font-weight: 700;
  font-display: swap; src: url('../fonts/montserrat-700.ttf') format('truetype');
}
@font-face {
  font-family: 'Montserrat'; font-style: normal; font-weight: 800 900;
  font-display: swap; src: url('../fonts/montserrat-800.ttf') format('truetype');
}
:root {
  color-scheme: dark;
  --gold: #fff; --gold-dark: #d5d5d5;
  --moss: #fff; --moss-dark: #d5d5d5;
  --teal: #fff; --teal-d: #d5d5d5;
  --black: #0a0a0a; --black-deep: #0a0a0a; --card-dark: #181818;
  --bg-light: #181818; --gray: #8a8a8a; --text-body: #b5b5b5;
  --font-serif: 'Montserrat', sans-serif;
  --font-sans: 'Montserrat', sans-serif; --font: 'Montserrat', sans-serif;
  --nav-h: 92px; --nav-h-mob: 76px;
  --max-w: 1440px; --pad-x: clamp(28px, 5vw, 76px); --pad-x-mob: 24px;
}
body { background: #0a0a0a; color: #fff; }
::selection { background: #fff; color: #0a0a0a; }
:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
html { scrollbar-color: #555 #0a0a0a; scroll-padding-top: 110px; }
input, select, textarea { accent-color: #fff; caret-color: #fff; }
h1, h2, h3 { text-wrap: balance; }
.btn { min-height: 48px; border-radius: 4px; letter-spacing: .035em; font-weight: 800; }
.btn-gold { background: #fff; border-color: #fff; color: #0a0a0a; }
.btn-gold:hover { background: #d5d5d5; border-color: #d5d5d5; color: #0a0a0a; }
.btn-ghost { color: #fff; border-color: #777; }
.btn-ghost:hover { color: #0a0a0a; background: #fff; border-color: #fff; }
.nav { background: #0a0a0a; padding-inline: var(--pad-x); box-shadow: none; }
.nav__inner { max-width: 1288px; height: 100%; margin-inline: auto; border-bottom: 1px solid #ffffff30; }
.seven-home .nav:not(.scrolled) { background: transparent; }
.nav.scrolled { background: #0a0a0a; box-shadow: 0 8px 24px #0003; }
.nav__links { justify-content: flex-end; gap: 20px; }
.nav__links a { font-size: 11px; letter-spacing: .025em; padding: 12px 0; color: #b5b5b5; }
.nav__links a:hover, .nav__links a[aria-current="page"] { color: #fff; }
.nav__links a::after { left: 0; right: 0; background: #fff; }
.nav__actions { margin-left: 20px; }
.nav__actions .btn { padding: 10px 24px; font-size: 11px; }
.seven-wordmark { display: inline-flex; flex-direction: column; align-items: flex-start; color: #fff; line-height: 1; }
.seven-wordmark__name { font-size: 29px; font-weight: 800; letter-spacing: .045em; }
.seven-wordmark__sub { font-size: 8px; letter-spacing: .11em; color: #b5b5b5; margin-top: 9px; }
.nav__mob { background: #0a0a0a; padding: 24px; }
.nav__mob a { min-height: 48px; align-content: center; }
.seven-skip { position: fixed; left: 20px; top: -100px; z-index: 2000; background: #fff; color: #0a0a0a; padding: 14px; }
.seven-skip:focus { top: 12px; }

/* Movimento contínuo e contido na fotografia. Texto e ações permanecem fixos. */
.seven-hero { min-height: 680px; height: 100svh; max-height: 1080px; display: flex; align-items: flex-end; justify-content: flex-start; }
.seven-hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.seven-hero[data-motion-ready] .seven-hero__image { animation: seven-camera 8s ease-in-out infinite alternate; }
.seven-hero[data-motion-paused] .seven-hero__image { animation-play-state: paused; }
.seven-hero__motion { position: absolute; z-index: 2; right: var(--pad-x); top: calc(var(--nav-h) + 24px); width: 36px; height: 36px; display: grid; place-items: center; background: #0a0a0a80; border: 1px solid #ffffff70; color: #fff; border-radius: 50%; cursor: pointer; }
.seven-hero__motion[hidden] { display: none; }
.seven-hero__motion:hover { background: #0a0a0acc; border-color: #fff; }
.seven-hero__motion svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }
.seven-hero__play-icon { display: none; }
.seven-hero__motion[aria-pressed="true"] .seven-hero__pause-icon { display: none; }
.seven-hero__motion[aria-pressed="true"] .seven-hero__play-icon { display: block; }
.seven-hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, #0006 0%, #0000 30%, #0001 48%, #000b 100%); }
.seven-hero__content { position: relative; z-index: 1; width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--pad-x) clamp(68px, 11vh, 120px); }
.seven-hero__title { font-family: var(--font-sans); font-size: clamp(30px, 3.15vw, 50px); font-weight: 800; line-height: 1.18; letter-spacing: .015em; margin: 0 0 18px; text-transform: uppercase; }
.seven-hero__title span { display: inline-block; animation: seven-word .65s cubic-bezier(.16,1,.3,1) both; }
.seven-hero__title span:nth-child(2) { animation-delay: .1s; }
.seven-hero__title span:nth-child(3) { animation-delay: .2s; }
.seven-hero__sub { color: #e3e3e3; font-size: clamp(15px, 1.5vw, 20px); line-height: 1.6; margin-bottom: 28px; }
.seven-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; }
.seven-hero__actions .btn { min-width: 176px; justify-content: center; padding: 16px 24px; }
.seven-hero__actions .btn-white { border-color: #d2d2d2; }
@keyframes seven-camera {
  from { transform: scale(1.01) translate3d(-.25%, .15%, 0); }
  to { transform: scale(1.065) translate3d(.35%, -.35%, 0); }
}
@keyframes seven-word { from { opacity: .35; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }

.seven-intro { padding: 80px var(--pad-x); max-width: 1440px; margin: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.seven-intro h2 { font-size: clamp(26px, 3vw, 42px); line-height: 1.2; text-transform: uppercase; letter-spacing: -.02em; }
.seven-intro p { max-width: 52ch; line-height: 1.85; color: #b5b5b5; font-size: 15px; }
.seven-home .section-header { text-align: left; }
.seven-home .section-header h2 { text-transform: uppercase; font-weight: 800; }
.seven-home .section-header p { margin-left: 0; color: #b5b5b5; }
.seven-home .section-header .label { display: none; }
.seven-home .services { background: #0a0a0a; border-top: 1px solid #262626; }
.seven-home .srv-grid { grid-template-columns: 1fr; gap: 16px; }
.seven-home .srv-card { border: 0; border-radius: 6px; background: #181818; }
.seven-home .srv-card:hover { transform: none; box-shadow: none; background: #1d1d1d; }
.seven-home .srv-card__body { border: 0; display: grid; grid-template-columns: 1fr auto auto; gap: 8px 32px; padding: 26px 30px; align-items: center; }
.seven-home .srv-card__body h3 { font-size: 18px; letter-spacing: .01em; grid-column: 1; margin: 0; }
.seven-home .srv-card__body > p:not(.seven-service-price) { grid-column: 1; grid-row: 2; margin: 0; color: #b5b5b5; max-width: 72ch; }
.seven-home .srv-card__body .seven-service-price { grid-column: 2; grid-row: 1 / 3; margin: 0 !important; font-size: 20px !important; white-space: nowrap; }
.seven-home .srv-card__body .btn { grid-column: 3; grid-row: 1 / 3; margin: 0 !important; align-self: center; }
.seven-home .services__cta { text-align: right; margin-top: 0; }
.section-header p, .srv-card__body p, .footer__brand-desc, .footer__copy, .footer__legal { color: #a8a8a8; }
.srv-intro, .srv-featured, .srv-cats, .plan-sel, .faq-section { background: #0a0a0a; color: #fff; }
.srv-intro h2, .srv-cat__title h2, .srv-item__name, .srv-featured h2, .plan-sel h2 { color: #fff !important; }
.srv-intro p, .srv-item__desc, .srv-featured p, .faq p { color: #b5b5b5 !important; }
.srv-item { border-color: #333; }
.srv-featured .srv-feat-img { background: #181818; }
.hero-int { background: #0a0a0a; }
.hero-int__bg { opacity: .45; filter: grayscale(1); }
.footer { background: #0a0a0a; border-top: 1px solid #333; }
.footer__grid { grid-template-columns: 1.2fr 1fr 1fr; padding-block: 16px; }
.footer__brand-desc { margin-top: 24px; max-width: 34ch; line-height: 1.8; }
.footer__nav-cols a { color: #b5b5b5; min-height: 36px; }
.footer__bottom { border-color: #262626; }
.seven-footer-links h3 { color: #fff; font-size: 12px; text-transform: uppercase; margin-bottom: 20px; }
.seven-footer-links a { display: block; color: #b5b5b5; font-size: 13px; padding: 8px 0; }
.seven-footer-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.whatsapp-float { background: #fff; color: #0a0a0a; box-shadow: 0 6px 24px #0004; }
.whatsapp-float::before, .whatsapp-float::after { animation: none; }
.whatsapp-float::before { border-color: #ffffff40; }
.whatsapp-float:hover { box-shadow: 0 8px 28px #0005; }
.fid-input { min-width: 0; width: 100%; }

/* Catalogo Seven: as mesmas ofertas no site, cadastro e painel. */
.seven-benefits { padding: 80px 0; background: #181818; border-block: 1px solid #333; }
.seven-benefits h2 { color: #fff; font-size: clamp(26px, 4vw, 44px); margin: 16px 0; }
.seven-benefits p { color: #b5b5b5; max-width: 650px; line-height: 1.8; margin: 0 0 28px; }
.seven-catalog-heading { margin-bottom: 42px; }
.seven-catalog-heading h2 { color: #fff; margin: 16px 0; }
.seven-catalog-heading p { color: #b5b5b5; line-height: 1.8; }
[data-seven-plans] { grid-template-columns: repeat(4,minmax(0,1fr)); }
[data-seven-plans] .plans-home-card { min-width: 0; }
[data-seven-plans] .plans-home-card__name { font-size: clamp(22px,2.2vw,30px); overflow-wrap: anywhere; }
[data-seven-plans] .plans-home-card__sub { min-height: 44px; line-height: 1.6; color: #b5b5b5; }
[data-seven-plans] .plans-home-card__per, [data-seven-plans] .plans-home-card__items li { color: #b5b5b5; }
.plan-sel > .wrap > p { color: #b5b5b5 !important; }
[data-seven-plans] .seven-plan-price { font-size: clamp(24px,2.5vw,34px); white-space: nowrap; }
[data-seven-plans] .btn { margin-top: auto; width: 100%; padding: 14px 10px; text-align: center; white-space: normal; letter-spacing: .05em; }
[data-seven-services] .srv-item__price { font-size: 20px; white-space: nowrap; }
[data-seven-services] .srv-item__right { gap: 18px; }
.seven-home .seven-service-price { font-weight: 700; color: #fff; }
.plan-option { min-width: 0; }
.plan-option__info { min-width: 0; }
.plan-option__desc { overflow-wrap: anywhere; }
#seven-plan-picker .plan-option__desc { color: #b5b5b5; }
@media (max-width: 1100px) { [data-seven-plans] { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  [data-seven-plans] { grid-template-columns: 1fr; }
  .seven-benefits { padding-block: 56px; }
  [data-seven-services] .srv-item__right { width: 100%; justify-content: space-between; flex-wrap: wrap; }
  #seven-plan-picker .plan-option { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px 12px; }
  #seven-plan-picker .plan-option__radio { grid-column: 1; grid-row: 1; }
  #seven-plan-picker .plan-option__info { grid-column: 2; grid-row: 1; }
  #seven-plan-picker .plan-option__price { grid-column: 2; grid-row: 2; margin-left: 0; }
}

/* O painel usa seus próprios tokens; preserva cores de erro/sucesso. */
.seven-admin {
  --bg: #0a0a0a; --surface: #181818; --surface2: #202020;
  --border: #343434; --text: #fff; --muted: #aaa; --gold: #fff;
}
.seven-admin .login-box, .seven-admin .sidebar { background: #181818; border-color: #343434; }
.seven-admin .login-header h2, .seven-admin .login-header p { color: #fff; }
.seven-admin .login-field input { background: #0a0a0a; color: #fff; border-color: #555; }
.seven-admin .login-field label { color: #b5b5b5; }
.seven-admin .login-header img, .seven-admin .sidebar__brand img { width: 150px; height: auto; }
.seven-admin :is(.ag-appt, .mini-cal, .ag-nav, .ag-prof-pick, .ag-week, .ag-month, .ag-month__day, .ag-date-input) {
  background: #181818; border-color: #444; color: #fff;
}
.seven-admin :is(.ag-slot, .ag-slot:nth-child(even), .ag-slot__time, .ag-week__head, .ag-week__corner, .ag-month__dow) {
  background: #111; border-color: #343434; color: #b5b5b5;
}
.seven-admin :is(.ag-appt__nome, .ag-appt__preco, .ag-nav__date, .mini-cal__title, .mini-cal__day, .ag-week__head small, .ag-month__daynum) { color: #fff; }
.seven-admin :is(.ag-appt__srv, .ag-appt__obs, .ag-appt__prof, .ag-week__time, .mini-cal__dow, .ag-nav__sub) { color: #b5b5b5; }
.seven-admin :is(.ag-week__cell, .ag-week__time, .ag-month__day) { border-color: #343434; }
.seven-admin :is(.ag-week__appt, .ag-week__appt.s-conf) { background: #292929; color: #fff; }
.seven-admin .ag-week__appt.s-bloq { background: #352020; color: #ffb6b6; }
.seven-admin :is(.badge-origem--app, .badge-origem--manual) { background: #303030; color: #fff; border-color: #666; }
.seven-admin .pgto-btn { background: #181818; color: #b5b5b5; border-color: #666; }
.seven-admin :is(.pgto-btn:hover, .pgto-btn--ativo) { background: #fff; color: #0a0a0a; border-color: #fff; }
.seven-admin .ag-prof-pick select { color: #fff; }
.seven-admin .ag-prof-pick select option { background: #181818; }
.seven-admin :is(.mini-cal__day:hover, .mini-cal__nav:hover, .ag-month__day:hover, .ag-slot--empty:hover) { background: #303030; }
.seven-admin .mini-cal__day--outro { color: #8a8a8a; }
.seven-admin .mini-cal__day--sel { background: #fff !important; color: #0a0a0a !important; }
.seven-admin .toggle.on::after { background: #0a0a0a; }
.seven-admin .ag-appt { border-left-color: var(--yellow); }
.seven-admin .ag-appt.s-confirmado { border-left-color: var(--green); }
.seven-admin .ag-appt.s-cancelado { border-left-color: var(--red); }

@media (max-width: 1050px) {
  .nav__links { gap: 18px; }
  .nav__actions { margin-left: 8px; }
  .seven-home .srv-card__body { column-gap: 20px; }
}
@media (max-width: 1023px) {
  .nav__inner { justify-content: space-between; }
  .seven-hero__motion { top: calc(var(--nav-h-mob) + 20px); right: 24px; }
}
@media (max-width: 767px) {
  .nav { height: var(--nav-h-mob); padding-inline: 24px; }
  .nav__inner { justify-content: space-between; }
  .nav__links, .nav__actions { display: none; }
  .nav__burger { display: flex; padding: 12px 0 12px 12px; }
  .seven-wordmark__name { font-size: 25px; }
  .seven-wordmark__sub { font-size: 7px; margin-top: 7px; }
  .seven-hero { min-height: 640px; height: 100svh; max-height: 960px; }
  .seven-hero__image { object-position: 55% 34%; }
  .seven-hero::after { background: linear-gradient(180deg, #0005 0%, #0000 28%, #0003 48%, #000e 100%); }
  .seven-hero__content { padding: 0 24px 56px; }
  .seven-hero__title { max-width: 360px; font-size: clamp(30px, 8.3vw, 43px); line-height: 1.2; margin-bottom: 16px; }
  .seven-hero__title span { display: block; }
  .seven-hero__sub { max-width: 270px; font-size: 15px; margin-bottom: 24px; }
  .seven-hero__actions { gap: 10px; }
  .seven-hero__actions .btn { min-width: 0; padding: 15px 17px; font-size: 10px; }
  .seven-intro { grid-template-columns: 1fr; gap: 20px; padding: 56px 24px; }
  .seven-home .services { padding-block: 56px; }
  .seven-home .section-header { margin-bottom: 32px; }
  .seven-home .srv-card__body { grid-template-columns: 1fr auto; padding: 24px; gap: 14px; }
  .seven-home .srv-card__body h3 { grid-column: 1 / -1; }
  .seven-home .srv-card__body > p:not(.seven-service-price) { grid-column: 1 / -1; }
  .seven-home .srv-card__body .seven-service-price { grid-column: 1; grid-row: 3; }
  .seven-home .srv-card__body .btn { grid-column: 2; grid-row: 3; }
  .footer__grid { grid-template-columns: 1fr; gap: 36px; }
  .whatsapp-float { width: 46px; height: 46px; bottom: 18px; right: 18px; font-size: 24px; }
  .promo-banner__cta .btn, .services__cta .btn, .seven-home a.btn[href="planos.html"] {
    max-width: 100%; white-space: normal; text-align: center;
    padding-inline: 18px !important; letter-spacing: .025em !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .seven-hero__image, .seven-hero[data-motion-ready] .seven-hero__image, .seven-hero__title span { animation: none; transform: none; opacity: 1; }
  .seven-hero__motion { display: none; }
  .whatsapp-float, .whatsapp-float::before, .whatsapp-float::after { animation: none; }
}
/* Equipe: fotografias do cadastro administrativo. */
.seven-team-section { background:#101010; padding:88px 0; border-top:1px solid #282828; }
.seven-team-heading { margin-bottom:36px; max-width:640px; }
.seven-team-heading h2 { font-size:clamp(28px,3.8vw,46px); line-height:1.12; margin:12px 0 16px; letter-spacing:-.035em; }
.seven-team-heading p { color:#aaa; line-height:1.7; }
.seven-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.seven-person { min-width:0; color:#f5f5f5; }
.seven-person__portrait { display:block; position:relative; overflow:hidden; background:#242424; aspect-ratio:4/5; }
.seven-person__initial { position:absolute; inset:0; display:grid; place-items:center; font-size:56px; color:#bcbcbc; font-weight:700; }
.seven-person__portrait img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.seven-person__info { display:block; }
.seven-person__name { display:block; font-size:20px; line-height:1.3; margin-top:18px; letter-spacing:-.02em; }
.seven-person__specialty { display:block; color:#aaa; font-size:12px; margin-top:7px; line-height:1.5; }
.seven-person__book { display:inline-block; color:#fff; font-size:12px; font-weight:700; padding:14px 0 7px; border-bottom:1px solid #777; text-decoration:none; }
.seven-person__book:hover { border-color:#fff; }
.seven-team-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.seven-team-picker[hidden], #ag-profissional[hidden], .seven-team-section[hidden] { display:none !important; }
.seven-person--choice { position:relative; cursor:pointer; display:block; margin:0 !important; letter-spacing:normal !important; text-transform:none !important; }
.seven-team-picker .seven-person--choice input { position:absolute; width:1px; height:1px; opacity:0; padding:0; border:0; }
.seven-person__content { display:block; height:100%; padding:7px 7px 12px; border:1px solid #3c3c3c; background:#151515; transition:border-color .15s,background .15s; }
.seven-person--choice .seven-person__portrait { aspect-ratio:1/1; }
.seven-person--choice .seven-person__name { font-size:12px; margin-top:10px; font-weight:700; }
.seven-person--choice .seven-person__specialty { font-size:10px; margin-top:4px; }
.seven-person__check { position:absolute; top:14px; right:14px; display:grid; place-items:center; background:#fff; color:#111; border-radius:50%; width:23px; height:23px; opacity:0; }
.seven-person--choice input:checked + .seven-person__content { border-color:#fff; background:#252525; }
.seven-person--choice input:checked + .seven-person__content .seven-person__check { opacity:1; }
.seven-person--choice input:focus-visible + .seven-person__content { outline:2px solid #fff; outline-offset:3px; }
.seven-person--choice:hover .seven-person__content { border-color:#aaa; }
@media (max-width:640px) {
  .seven-team-section { padding:56px 0; }
  .seven-team-grid { grid-template-columns:1fr; gap:36px; }
  .seven-person--team .seven-person__portrait { aspect-ratio:4/3; }
  .seven-team-picker { gap:7px; }
  .seven-person__content { padding:5px 5px 10px; }
  .seven-person--choice .seven-person__name { font-size:11px; }
  .seven-person--choice .seven-person__specialty { font-size:9px; }
  .seven-person__check { top:10px; right:10px; width:19px; height:19px; }
}
