/* Barbearia: capa ampla, carrossel e retratos sem cartões. */
.ps-layout-barbearia { --ps-radius: 16px; }
.ps-layout-barbearia .ps-container { width: min(1120px, calc(100% - 48px)); }
.ps-layout-barbearia .ps-btn { border-radius: 10px; box-shadow: none; white-space: normal; }
.bb-hero { position: relative; isolation: isolate; background: var(--ps-surface); overflow: hidden; }
.bb-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.bb-hero.has-cover::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(10,12,16,.88),rgba(10,12,16,.6) 55%,rgba(10,12,16,.22)); }
.bb-hero-content { padding-block: clamp(56px,9vw,112px); }
.bb-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bb-hero h1 { max-width: 17ch; font-size: clamp(2.1rem,4.8vw,4.5rem); line-height: 1.12; font-weight: 750; letter-spacing: -.035em; margin: 20px 0; text-wrap: balance; overflow-wrap: break-word; }
.bb-hero-content > p { max-width: 48ch; font-size: 1.1rem; line-height: 1.65; margin: 0; color: var(--ps-muted); }
.bb-hero.has-cover { color: #fff; }
.bb-hero.has-cover .bb-hero-content > p { color: #e4e6ea; }
.bb-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 30px; }
.bb-secondary { color: inherit; font-weight: 600; text-underline-offset: 5px; }
.bb-info { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 36px; padding-block: 20px; border-bottom: 1px solid var(--ps-border); font-size: .86rem; color: var(--ps-muted); }
.bb-info span { display: flex; align-items: baseline; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
.bb-info .bi { flex-shrink: 0; color: var(--ps-primary); }
.bb-section { padding-block: clamp(36px,5vw,64px); }
.bb-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.bb-section-heading h2 { margin: 10px 0; font-size: clamp(1.65rem,3vw,2.35rem); line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.bb-section-heading p { color: var(--ps-muted); line-height: 1.6; margin: 0; }
.bb-slide-hint { flex-shrink: 0; font-size: .8rem; color: var(--ps-muted); }
.ps-layout-barbearia .bb-service-slider { padding: 0; min-width: 0; }
.bb-service { height: 100%; display: flex; flex-direction: column; border-radius: 16px; border: 1px solid var(--ps-border); overflow: hidden; background: var(--ps-surface); }
.bb-service-photo { aspect-ratio: 16/10; display: grid; place-items: center; overflow: hidden; background: var(--ps-surface-2); }
.bb-service-photo img { width: 100%; height: 100%; object-fit: cover; }
.bb-service-photo > .bi { font-size: 3rem; color: var(--ps-primary); }
.bb-service-content { display: flex; flex-direction: column; flex: 1; padding: 22px; min-width: 0; }
.bb-service h3 { font-size: 1.12rem; line-height: 1.4; margin: 0 0 10px; overflow-wrap: break-word; }
.bb-service-content > p { font-size: .9rem; line-height: 1.6; color: var(--ps-muted); margin: 0 0 20px; }
.bb-service-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding-bottom: 20px; }
.bb-service-meta strong { font-size: 1.15rem; }
.bb-service-meta span { font-size: .8rem; color: var(--ps-muted); white-space: nowrap; }
.bb-service .ps-btn { width: 100%; justify-content: space-between; }
.bb-slider-controls { display: flex; justify-content: center; align-items: center; gap: 18px; padding-top: 24px; min-height: 68px; }
.ps-layout-barbearia .bb-slider-controls .swiper-button-next, .ps-layout-barbearia .bb-slider-controls .swiper-button-prev { position: static; margin: 0; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid var(--ps-border); border-radius: 50%; background: var(--ps-surface); color: var(--ps-text); }
.ps-layout-barbearia .bb-slider-controls .swiper-button-next::after, .ps-layout-barbearia .bb-slider-controls .swiper-button-prev::after { font-size: 14px; }
.ps-layout-barbearia .bb-slider-controls .swiper-pagination { position: static; width: auto; transform: none; }
.bb-team-section { background: var(--ps-surface); border-block: 1px solid var(--ps-border); }
.bb-team { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 36px 24px; }
.bb-professional { text-align: center; min-width: 0; max-width: 260px; width: 100%; justify-self: center; }
.bb-portrait { width: clamp(112px,13vw,164px); aspect-ratio: 1; margin: 0 auto 20px; border-radius: 50%; padding: 5px; border: 2px solid var(--ps-primary); display: grid; place-items: center; }
.bb-portrait img, .bb-portrait span { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--ps-surface-2); font-size: 2.5rem; font-weight: 600; }
.bb-professional h3 { margin: 0 0 8px; font-size: 1.05rem; line-height: 1.4; text-wrap: balance; overflow-wrap: break-word; }
.bb-professional p { font-size: .85rem; line-height: 1.6; margin: 0; color: var(--ps-muted); }
.bb-team-action { margin-top: 32px; text-align: center; }
.bb-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ps-layout-barbearia .ps-cta { border: 1px solid var(--ps-border); border-radius: 16px; padding: 32px; }
/* Permite deslizar mesmo se o CDN não carregar. */
.bb-service-slider:not(.swiper-initialized) .swiper-wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 20px; }
.bb-service-slider:not(.swiper-initialized) .swiper-slide { flex: 0 0 calc((100% - 40px)/3); scroll-snap-align: start; }
.bb-service-slider:not(.swiper-initialized) .bb-slider-controls { display: none; }
@media(max-width:900px) {
 .bb-slide-hint { display: none; }
 .bb-service-slider:not(.swiper-initialized) .swiper-slide { flex-basis: calc((100% - 20px)/2); }
}
@media(max-width:600px) {
 .ps-layout-barbearia .ps-container { width: calc(100% - 32px); }
 .bb-hero-content { padding-block: 48px; }
 .bb-hero h1 { font-size: clamp(2rem,8vw,2.9rem); max-width: 100%; line-height: 1.16; }
 .bb-hero-content > p { font-size: 1rem; }
 .bb-hero.has-cover::before { background: rgba(10,12,16,.7); }
 .bb-hero-actions { flex-direction: column; align-items: stretch; gap: 20px; }
 .bb-hero-actions .bb-secondary { text-align: center; }
 .bb-section-heading { margin-bottom: 22px; }
 .bb-service-content { padding: 18px; }
 .bb-team { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; }
 .bb-portrait { width: min(120px,100%); }
 .bb-professional h3 { font-size: .95rem; }
 .bb-professional p { font-size: .8rem; }
 .bb-service-slider:not(.swiper-initialized) .swiper-slide { flex-basis: 88%; }
}
@media(prefers-reduced-motion:reduce) { .bb-service-slider .swiper-wrapper { transition-duration: 0ms !important; } }

/* Abertura fotográfica inspirada na composição Barberon. */
.ps-layout-barbearia{--ps-radius:4px}
.ps-layout-barbearia .ps-btn{border-radius:3px;padding:14px 24px}
.bb-hero{min-height:min(850px,calc(100svh - 64px));display:flex;align-items:stretch}
.bb-covers{position:absolute;inset:0;z-index:-2;background:#171715}
.bb-covers .bb-cover{z-index:auto;opacity:0;transform:scale(1.035);transition:opacity 1.2s ease,transform 7s linear}
.bb-covers .bb-cover.is-active{opacity:1;transform:scale(1)}
.bb-hero.has-cover::before{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.25) 35%,rgba(0,0,0,.85))}
.bb-hero-content{display:flex;flex-direction:column;align-items:flex-start;padding-block:56px 94px;min-width:0}
.bb-hero-logo{width:auto;max-width:min(220px,65%);height:85px;object-fit:contain;object-position:left}
.bb-hero-content>.bb-introduction{max-width:40ch;margin:24px 0 64px;padding-left:20px;border-left:2px solid var(--ps-primary);font-size:1.05rem}
.bb-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(3rem,7.4vw,7rem);line-height:1.03;letter-spacing:-.02em;max-width:18ch;margin:auto 0 0;text-transform:none;text-wrap:balance}
.bb-hero-actions{margin-top:26px}
.bb-cover-controls{position:absolute;right:max(24px,calc((100% - 1120px)/2));bottom:24px;display:flex;align-items:center;gap:12px;color:white}
.bb-cover-controls button{min-width:44px;min-height:44px;border:1px solid #ffffff70;border-radius:3px;background:#171715b3;color:white;padding:8px 12px;cursor:pointer}
.bb-cover-controls button:hover{background:#171715}
.bb-cover-controls button:focus-visible{outline:3px solid white;outline-offset:3px}
.bb-service{border-radius:3px}
.bb-service-photo{aspect-ratio:4/3}
.bb-service-photo img,.ps-layout-barbearia .ps-about-img img{transition:transform .6s ease}
@media(hover:hover){.bb-service:hover .bb-service-photo img,.ps-layout-barbearia .ps-about-img:hover img{transform:scale(1.055)}}
.bb-section-heading h2,.ps-layout-barbearia .ps-section-title{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:0}
.ps-layout-barbearia .ps-about-img{overflow:hidden;border-radius:3px}
@media(max-width:600px){
 .bb-hero{min-height:660px}
 .bb-hero-content{padding-block:32px 100px}
 .bb-hero h1{font-size:clamp(2.8rem,10vw,4rem);max-width:100%;line-height:1.08}
 .bb-hero-content>.bb-introduction{font-size:.95rem;margin:24px 0 40px}
 .bb-hero-actions{width:100%}
 .bb-hero-logo{height:64px}
 .bb-cover-controls{right:16px;bottom:20px}
}
@media(prefers-reduced-motion:reduce){.bb-covers .bb-cover,.bb-service-photo img,.ps-layout-barbearia .ps-about-img img{transition:none;transform:none}}

.bb-hero:not(.has-cover) .bb-covers{background:transparent}
