/* ServiçoIdeal 2.0.77. Estilos isolados: seção já existente e fluxo de vitrine. */
.si256 .si277-home-subtitle{margin:0 0 19px;color:#746e68;font-size:14px;line-height:1.55}
.si256 .si277-featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch}
.si256 .si256-service-card.si277-home-card{min-width:0;width:100%;height:auto;aspect-ratio:auto;min-height:0;display:flex;flex-direction:column;padding:0;border-radius:22px;overflow:hidden;text-decoration:none;background:#fff;border:1px solid #eee4dd;box-shadow:0 12px 30px rgba(40,25,16,.085),0 2px 0 rgba(255,255,255,.9)}
.si256 .si256-service-card.si277-home-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(227,94,28,.20)}
.si256 .si277-home-card::before,.si256 .si277-home-card::after{display:none!important}
.si256 .si277-image-wrap{width:100%;height:auto;aspect-ratio:2.05;overflow:hidden;display:block;background:#e7dfd8;position:relative}
.si256 .si277-home-card .si277-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.04);transition:transform .5s ease}
.si256 .si277-home-card:hover img{transform:scale(1.045)}
.si256 .si277-card-content{display:flex;flex-direction:column;flex:1;gap:9px;padding:12px 14px 13px;background:#fff;color:#251d19}
.si256 .si277-home-card .si277-card-content strong{position:static!important;left:auto;right:auto;bottom:auto;text-shadow:none!important;color:#251d19;font-weight:850;line-height:1.23;font-size:clamp(14px,1.2vw,17px);letter-spacing:-.018em}
.si256 .si277-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto}
.si256 .si277-card-bottom small{color:#e75a16;font-size:12px;font-weight:850;line-height:1.3}
.si256 .si277-card-arrow{display:grid;place-items:center;background:linear-gradient(130deg,#ff921d,#ff5714);color:white;width:30px;height:30px;flex:0 0 30px;border-radius:50%;box-shadow:0 7px 13px rgba(251,112,22,.23)}
.si277-shell{max-width:1190px;margin:0 auto;padding:clamp(18px,3vw,38px) clamp(15px,3vw,30px) 78px;color:#25201d;box-sizing:border-box}
.si277-shell *, .si277-shell *::before,.si277-shell *::after{box-sizing:border-box}
.si277-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:12px;color:#8d827a;margin-bottom:20px}.si277-crumb a{color:#c85a1d;text-decoration:none;font-weight:700}
.si277-detail-hero{display:grid;grid-template-columns: 42% 1fr;gap:28px;background:linear-gradient(135deg,#fff,#fff8f2);border:1px solid #f3e7df;padding:16px;border-radius:28px;box-shadow:0 16px 36px rgba(43,26,13,.055);align-items:center}
.si277-detail-hero>img{width:100%;height:270px;object-fit:cover;border-radius:19px}
.si277-detail-hero>div{padding:12px}.si277-kicker{display:block;font-size:11px;font-weight:900;letter-spacing:.12em;color:#ed671c;margin-bottom:8px}
.si277-detail-hero h1,.si277-booking h1{font-size:clamp(26px,4vw,44px);letter-spacing:-.042em;line-height:1.11;margin:0 0 12px;color:#241e1a}
.si277-detail-hero p,.si277-book-form>p{color:#746d69;line-height:1.65;margin:0 0 15px;font-size:15px}
.si277-locate{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:25px;background:#fff2e8;color:#c55a20;font-weight:800;font-size:12px}
.si277-filter{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;background:white;padding:18px 22px;border:1px solid #efe5dc;border-radius:20px;margin:22px 0;box-shadow:0 6px 20px rgba(44,20,8,.035)}
.si277-filter>div{flex:1 1 250px}.si277-filter>div>strong{font-size:16px}.si277-filter p{font-size:13px;color:#79716b;margin:5px 0 0;line-height:1.5}.si277-filter form{flex:1 1 360px;margin:0}.si277-filter-fields{display:grid;grid-template-columns:85px minmax(130px,1fr) auto;gap:9px;align-items:end}
.si277-filter label,.si277-book-form label{display:grid;gap:7px;font-size:13px;font-weight:750;color:#322b27;min-width:0}
.si277-filter input,.si277-book-form input,.si277-book-form textarea{width:100%;min-width:0;border:1px solid #e3d8cf;background:#fff;border-radius:12px;padding:12px 13px;font-size:14px;color:#211b17;outline:none}
.si277-filter input:focus,.si277-book-form input:focus,.si277-book-form textarea:focus{border-color:#fa781e;box-shadow:0 0 0 3px #ff8a2027}
.si277-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(115deg,#ff901b,#fa5d0a);color:#fff!important;font-weight:850;font-size:13px;text-decoration:none;border:none;border-radius:13px;padding:13px 17px;cursor:pointer;box-shadow:0 9px 18px #f2651e29;white-space:normal;text-align:center}
.si277-button:hover{filter:brightness(.97);transform:translateY(-1px)}
.si277-results-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:15px;margin:27px 0 18px}.si277-results-head h2{font-size:26px;letter-spacing:-.03em;margin:0 0 5px}.si277-results-head p{font-size:13px;color:#8b817b;margin:0;line-height:1.5}.si277-ghost{display:inline-flex;align-items:center;padding:11px 14px;border:1px solid #f8c7ae;border-radius:12px;color:#e76220;text-decoration:none;font-weight:780;font-size:13px}
.si277-results{display:grid;gap:12px}.si277-provider{display:grid;grid-template-columns:82px minmax(0,1fr) 190px;gap:18px;align-items:center;background:white;border:1px solid #f0e6df;border-radius:22px;padding:18px 21px;box-shadow:0 8px 22px #49321a0a}
.si277-provider-face img,.si277-provider-face .si277-avatar{display:block;width:78px;height:78px;object-fit:cover;border-radius:20px;background:#fff0e6}.si277-provider-main h3{font-size:18px;margin:0 0 6px;color:#251e18}.si277-provider-main p{font-size:13px;color:#79716c;line-height:1.55;margin:7px 0;overflow-wrap:anywhere}.si277-stars{color:#d66d21;font-size:13px;font-weight:790}.si277-profile-link{color:#bd511d;font-size:12px;font-weight:800;text-decoration:underline}.si277-provider-action{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.si277-provider-action strong{font-size:23px;white-space:nowrap;font-weight:900;color:#201912;letter-spacing:-.03em}.si277-price-label{font-size:12px;font-weight:750;color:#97613e;background:#fff1e6;border-radius:10px;padding:5px 8px}
.si277-empty,.si277-warning{background:#fff9f4;border:1px solid #f5ddcb;border-radius:22px;padding:28px}.si277-empty h2{margin:0 0 8px}.si277-empty p{line-height:1.6;color:#6b615b}.si277-warning{color:#9b3817}
.si277-foot{margin-top:22px;color:#82796f;font-size:12px;line-height:1.6}.si277-foot p{margin:0}
.si277-book-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:22px;align-items:start}.si277-book-form,.si277-summary{padding:26px;border-radius:25px;background:white;border:1px solid #eee1d8;box-shadow:0 12px 30px #49321a12}.si277-book-form>p{max-width:700px}.si277-book-form form{display:grid;gap:19px;margin-top:22px}.si277-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.si277-book-form textarea{resize:vertical;min-height:130px}
.si277-consent{display:flex!important;flex-direction:row;align-items:start;gap:10px;line-height:1.55;font-weight:500!important;color:#5b514b!important}.si277-consent input{width:17px;height:17px;flex:0 0 17px;margin:3px 0 0;accent-color:#f66616}.si277-button-large{width:100%;font-size:15px;padding:17px}
.si277-summary{padding:14px;overflow:hidden}.si277-summary>img{height:165px;width:100%;object-fit:cover;border-radius:17px}.si277-summary>div{padding:14px 8px 8px}.si277-summary h2{font-size:21px;line-height:1.24;margin:0 0 10px}.si277-summary p{margin:4px 0;color:#756b64;font-size:14px}.si277-summary strong{display:block;font-size:25px;margin:12px 0 6px;color:#e76117}.si277-summary small{font-size:12px;color:#837b72;line-height:1.6;display:block}
@media(min-width:801px) and (max-width:1050px){.si256 .si277-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}}
@media(max-width:800px){.si256 .si277-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.si277-detail-hero{grid-template-columns:1fr;gap:10px}.si277-detail-hero>img{height:200px}.si277-book-layout{grid-template-columns:1fr}.si277-provider{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:15px}.si277-provider-face img,.si277-provider-face .si277-avatar{width:60px;height:60px}.si277-provider-action{grid-column:1 / -1;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid #f1e7dd;padding-top:12px}.si277-provider-action strong{font-size:21px}.si277-provider-action .si277-button{flex:1 1 120px}.si277-results-head h2{font-size:23px}}
@media(max-width:470px){.si256 .si277-featured-grid{gap:10px}.si256 .si256-service-card.si277-home-card{border-radius:16px}.si256 .si277-card-content{padding:11px;gap:8px}.si256 .si277-home-card .si277-card-content strong{font-size:13px}.si256 .si277-card-bottom small{font-size:10px}.si256 .si277-card-arrow{width:27px;height:27px;flex-basis:27px}.si256 .si277-image-wrap{aspect-ratio:1.5}.si277-filter-fields{grid-template-columns:1fr 1fr}.si277-filter-fields .si277-button{grid-column:1/-1}.si277-detail-hero{padding:10px;border-radius:19px}.si277-detail-hero>img{height:158px}.si277-detail-hero>div{padding:8px}.si277-shell{padding:15px 12px 65px}.si277-book-form,.si277-summary{padding:17px}.si277-field-row{grid-template-columns:1fr 1fr;gap:8px}.si277-book-form label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.si256 .si277-home-card,.si277-button{transition:none!important;transform:none!important}}

/* ServiçoIdeal 2.0.91: correção do campo UF na vitrine de serviços.
   A largura antiga de 85px cortava o texto do select nativo (ex.: Acre/AC).
   Escopo estrito: apenas o filtro da página de catálogo de serviços. */
.si277-filter>div,.si277-filter>form{min-width:0}
.si277-filter .si277-filter-fields{grid-template-columns:170px minmax(0,1fr) minmax(110px,max-content);column-gap:12px;row-gap:10px;align-items:end;min-width:0}
.si277-filter .si277-filter-fields>label{min-width:0;width:100%;align-self:stretch}
.si277-filter .si277-filter-fields .si273-native-select{width:100%;min-width:0;max-width:100%;min-height:47px;padding:11px 12px;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}
.si277-filter .si277-filter-fields .si277-button{min-height:47px;white-space:nowrap;align-self:end}
@media(max-width:1000px){.si277-filter>div,.si277-filter>form{flex:1 1 100%;width:100%}}
@media(max-width:640px){.si277-filter .si277-filter-fields{grid-template-columns:minmax(145px,170px) minmax(0,1fr)}.si277-filter .si277-filter-fields .si277-button{grid-column:1/-1;width:100%}}
@media(max-width:460px){.si277-filter .si277-filter-fields{grid-template-columns:minmax(0,1fr)}.si277-filter .si277-filter-fields .si277-button{grid-column:1}}
