/* =========================================================
   COMPONENTES COMPLEMENTARES
   Serviços, planos, equipe, avaliações e página de preços.
   ========================================================= */

/* Links dos cards de serviços. */
.service-grid a{display:block}.service-grid article{height:100%}.service-grid article b{display:inline-block;margin-top:18px;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.services-button{margin-top:38px}

/* Planos recorrentes do Clube Simão. */
.plans{background:#080808}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:45px 0 30px}.plans-grid article{min-height:235px;padding:28px;background:#151515;border:1px solid #2b2b2b;display:flex;flex-direction:column;justify-content:space-between}.plans-grid article:hover,.plan-featured{border-color:var(--gold)!important}.plans-grid span{color:var(--gold);font-size:.68rem;text-transform:uppercase;letter-spacing:.18em}.plans-grid h3{font:2.5rem/1 "Bebas Neue";text-transform:uppercase;margin:20px 0}.plans-grid strong{font:2.25rem/1 "Bebas Neue"}.plans-grid small{font:500 .7rem Manrope;color:#aaa;margin-left:4px}

/* Cards dos profissionais. */
.team{background:var(--paper);color:var(--ink)}.team .section-heading>p{color:#67625c}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:28px;margin-top:46px;align-items:start}.team-grid article{text-align:center;background:transparent;min-width:0}.team-grid img{display:block;width:168px!important;height:168px!important;max-width:168px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center;border-radius:999px!important;margin:0 auto;border:4px solid #fff;box-shadow:0 12px 28px #1b150f24;filter:grayscale(.1);transition:.3s}.team-grid article:hover img{filter:grayscale(0);transform:translateY(-5px);border-color:var(--gold)}.team-grid div{padding:18px 8px}.team-grid h3{font:2rem/1 "Bebas Neue";text-transform:uppercase;margin:0 0 10px}.team-grid a{color:#8b5a05;font-size:.7rem;font-weight:800;text-transform:uppercase}

/* Resumo da nota pública do AppBarber. */
.reviews{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:7vw;background:#151515}.rating-summary{min-height:390px;background:var(--gold);color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.rating-summary strong{font:8rem/1 "Bebas Neue"}.rating-summary span{font-size:1.5rem;letter-spacing:.15em}.rating-summary p{max-width:260px;margin:16px 0 0;font-size:.8rem;font-weight:800;text-transform:uppercase}.review-carousel{margin:24px 0 30px}.review-track{position:relative;min-height:210px}.review-slide{position:absolute;inset:0;padding:26px;background:#1d1d1d;border-top:3px solid var(--gold);opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .35s,transform .35s}.review-slide.active{position:relative;opacity:1;visibility:visible;transform:none}.review-stars{color:var(--gold);letter-spacing:.12em}.review-slide blockquote{margin:18px 0;font:clamp(1.65rem,3vw,2.6rem)/1.05 "Bebas Neue";text-transform:uppercase}.review-slide p{margin:0;font-weight:800;font-size:.78rem}.review-slide small{color:#888;font-weight:500}.review-controls{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.review-arrow{width:42px;height:42px;border:1px solid #444;background:#1d1d1d;color:#fff;cursor:pointer}.review-arrow:hover{border-color:var(--gold);color:var(--gold)}.review-dots{display:flex;gap:8px}.review-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#555;cursor:pointer}.review-dots button.active{width:26px;border-radius:8px;background:var(--gold)}

/* Galeria com publicações locais do Instagram. */
.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid a:nth-child(2){margin-top:55px}.gallery-grid img:nth-child(2){margin-top:0}

/* Página interna de preços. */
.inner-header{height:84px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.price-hero{padding:100px max(6vw,24px) 55px;background:radial-gradient(circle at 80% 10%,#38260d,transparent 38%)}.price-hero h1{font:clamp(4.5rem,10vw,9rem)/.88 "Bebas Neue";text-transform:uppercase;max-width:950px;margin:.2em 0}.price-hero>p:not(.eyebrow){max-width:650px;color:#bbb}.price-hero small{color:#888}.price-filters{position:sticky;top:0;z-index:5;display:flex;gap:10px;overflow-x:auto;padding:18px max(6vw,24px);background:#090909ef;border-block:1px solid var(--line);backdrop-filter:blur(12px)}.price-filters button{flex:0 0 auto;background:#171717;color:#aaa;border:1px solid #333;padding:11px 20px;font:700 .72rem Manrope;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.price-filters button.active,.price-filters button:hover{background:var(--gold);border-color:var(--gold);color:#111}.price-list{padding:45px max(6vw,24px) 100px;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.price-list details{background:#131313;border:1px solid #2d2d2d}.price-list details[hidden]{display:none}.price-list summary{min-height:76px;padding:0 24px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;cursor:pointer;list-style:none}.price-list summary::-webkit-details-marker{display:none}.price-list summary span{font-weight:800;text-transform:uppercase}.price-list summary b{color:var(--gold);white-space:nowrap}.price-list details[open]{border-color:var(--gold)}.price-list details div{padding:0 24px 22px;border-top:1px solid #292929}.price-list details p{color:#aaa}.price-list details a{color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase}.price-footer{display:flex;align-items:center;justify-content:space-between}.price-footer p{grid-column:auto;border:0;padding:0}

/* Formulário único de solicitação de agendamento. */
.appointment-layout{min-height:calc(100vh - 84px);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:80px max(6vw,24px);background:radial-gradient(circle at 15% 20%,#38260d,transparent 35%)}.appointment-intro h1{font:clamp(4.2rem,7vw,7.5rem)/.88 "Bebas Neue";text-transform:uppercase;margin:.2em 0}.appointment-intro>p:not(.eyebrow){color:#bbb;max-width:600px}.appointment-note{margin-top:35px;padding:22px;border-left:3px solid var(--gold);background:#131313;display:grid;gap:5px}.appointment-note strong{color:var(--gold);text-transform:uppercase;font-size:.75rem}.appointment-note span{color:#aaa;font-size:.85rem}.appointment-form{align-self:start;background:var(--paper);color:var(--ink);padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:grid;gap:7px}.field-full{grid-column:1/-1}.field label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.field input,.field select{width:100%;min-height:52px;border:1px solid #ccc;background:#fff;padding:0 14px;font:500 1rem Manrope;color:#111}.field input:focus,.field select:focus{outline:2px solid var(--gold);outline-offset:2px}.appointment-form .button{width:100%;cursor:pointer}.privacy-copy{margin:0;color:#777;font-size:.72rem;text-align:center}

/* Ajustes para tablets. */
@media(max-width:900px){.plans-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.reviews{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.price-list{grid-template-columns:1fr}.appointment-layout{grid-template-columns:1fr}}

/* Ajustes para celulares. */
@media(max-width:620px){.plans-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr;gap:22px 12px}.team-grid img{width:126px!important;height:126px!important;max-width:126px!important}.team-grid div{padding:14px 4px}.gallery-grid a:nth-child(2),.gallery-grid a:nth-child(4){margin-top:20px}.inner-header .brand span{display:none}.price-hero{padding-top:70px}.price-hero h1{font-size:4.4rem}.price-list summary{padding:0 16px;font-size:.84rem}.price-footer{display:block}.price-footer p{margin-top:18px}.location-content p{font-size:.9rem}.appointment-layout{padding-top:55px}.appointment-intro h1{font-size:4.2rem}.appointment-form{padding:24px;grid-template-columns:1fr}.field,.field-full{grid-column:1}}
