PageSourceSearch

https://hotelvilainglesa.com.br/assets/Promocoes-CPe9M_SF.js

js hotelvilainglesa.com.br collected 2026-09-26 10:27:42 UTC 14,087 bytes, 1 lines download raw bytes

1import{j as e,u as p}from"./vendor-query-CO_QYTkO.js";import{r as j}from"./vendor-react-DJfEFaqw.js";import{L as u}from"./vendor-router-CkFJCvFZ.js";import{u as b}from"./vendor-carousel-DpjaRhUe.js";import{h as f,i as N,e as k,g as w,P as _,B as C,H as S,S as h,N as E,F as P,j as F,l as H,s as g}from"./index-BuBFkYNO.js";import{u as q}from"./usePromoOffers-kqc0Is4m.js";import{c as V,d as A,ai as B,aj as D,V as I}from"./vendor-icons-BmcpZVdY.js";import"./vendor-ui-CCUQhf4y.js";import"./vendor-supabase-MEHSyf2E.js";import"./vendor-helmet-Cc4zoVvE.js";import"./vendor-sanitize-D9RiKzGB.js";import"./vendor-codemirror-kF8_xaBD.js";import"./vendor-dnd-Ds4KDHQQ.js";const m="#f5f0e6",i="#002d41";function R(){return e.jsx("header",{className:"w-full",style:{backgroundColor:i},"data-element":"promocoes-lp-header",children:e.jsx("div",{className:"max-w-[1200px] mx-auto px-6 py-5 flex items-center justify-center",children:e.jsx(u,{to:"/","aria-label":"Hotel Vila Inglesa — página inicial",children:e.jsx("img",{src:H,alt:"Hotel Vila Inglesa",className:"h-11 w-auto",width:120,height:44})})})})}function y({eyebrow:s,title:t,description:l,light:a=!1}){const r=a?m:"hsl(var(--primary))",n=a?"rgba(245,240,230,0.82)":"hsl(var(--muted-foreground))";return e.jsxs("div",{className:"text-center max-w-3xl mx-auto mb-14",children:[s&&e.jsx("p",{className:"font-body uppercase tracking-[0.32em] text-xs mb-5",style:{color:"hsl(var(--accent))"},children:s}),e.jsx("h2",{className:"font-display text-3xl md:text-4xl lg:text-[2.75rem] leading-tight",style:{color:r},children:t}),e.jsx("div",{className:"h-px w-16 mx-auto my-6",style:{backgroundColor:"hsl(var(--accent))"}}),l&&e.jsx("p",{className:"font-body text-base md:text-lg leading-relaxed",style:{color:n},children:l})]})}function L({offer:s}){const t={primary:"hsl(var(--primary))",accent:"hsl(var(--accent))",success:"hsl(142 60% 35%)",warning:"hsl(38 75% 50%)"},l=s.dates.some(a=>a.link_url);return e.jsxs("div",{className:"group flex flex-col h-full relative rounded-2xl overflow-hidden transition-all duration-700 hover:-translate-y-1",style:{backgroundColor:m,boxShadow:"0 1px 3px hsl(0 0% 0% / 0.06), 0 16px 40px hsl(0 0% 0% / 0.14)"},children:[e.jsxs("div",{className:"relative aspect-[4/3] overflow-hidden",children:[s.image_url?e.jsx("img",{src:s.image_url,alt:s.title,loading:"lazy",decoding:"async",className:"w-full h-full object-cover"}):e.jsx("div",{className:"w-full h-full",style:{backgroundColor:"hsl(var(--muted))"}}),s.discount_label&&e.jsx("div",{className:"absolute top-3 right-3 px-2.5 py-1 rounded-full font-body text-[10px] font-semibold uppercase tracking-wider text-white",style:{backgroundColor:"hsl(var(--accent))",boxShadow:"0 2px 8px hsl(0 0% 0% / 0.15)"},children:s.discount_label})]}),e.jsxs("div",{className:"flex flex-col flex-1 p-6 pt-7",children:[e.jsx("h3",{className:"font-display text-xl md:text-2xl text-center tracking-wide",style:{color:"hsl(var(--primary))"},children:s.title}),s.subtitle&&e.jsx("p",{className:"text-center font-body text-sm mt-2 uppercase tracking-[0.18em]",style:{color:"hsl(var(--accent))"},children:s.subtitle}),e.jsx("div",{className:"h-px w-10 mx-auto my-4",style:{backgroundColor:"hsl(var(--accent) / 0.5)"}}),s.description&&e.jsx("p",{className:"text-center font-body text-sm leading-relaxed",style:{color:"hsl(var(--foreground))"},children:s.description}),s.min_nights_label&&e.jsx("p",{className:"text-center font-body text-xs mt-2 italic",style:{color:"hsl(var(--muted-foreground))"},children:s.min_nights_label}),s.dates.length>0&&e.jsxs("div",{className:"mt-6",children:[e.jsx("p",{className:"text-center font-body text-[10px] uppercase tracking-[0.22em] mb-3",style:{color:"hsl(var(--muted-foreground))"},children:"Datas disponíveis"}),e.jsx("div",{className:"space-y-2.5",children:s.dates.map(a=>{const r=e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"font-body text-[10px] uppercase tracking-[0.18em] mb-1",style:{color:t[a.color]||t.primary},children:a.label}),e.jsx("div",{className:"font-display text-lg md:text-xl leading-tight",style:{color:"hsl(var(--primary))"},children:a.date_range}),e.jsxs("div",{className:"flex items-center justify-center gap-2 flex-wrap mt-1.5",children:[a.discount_label&&e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-wider rounded px-1.5 py-0.5",style:{backgroundColor:"hsl(var(--accent) / 0.12)",color:"hsl(var(--accent))"},children:a.discount_label}),a.conditions&&e.jsx("span",{className:"text-[10px] italic",style:{color:"hsl(var(--muted-foreground))"},children:a.conditions})]})]}),n=t[a.color]||t.primary;return a.link_url?e.jsx("a",{href:a.link_url,target:s.link_target||"_self",rel:s.link_target==="_blank"?"noopener noreferrer":void 0,className:"block rounded-xl px-3 py-3 transition-all duration-500 hover:scale-[1.02] cursor-pointer",style:{backgroundColor:"hsl(var(--background))",border:`1.5px solid ${n}`},children:r},a.id):e.jsx("div",{className:"block rounded-xl px-3 py-3",style:{backgroundColor:"hsl(var(--background))",border:`1.5px solid ${n}`},children:r},a.id)})})]}),s.link_url&&!l&&e.jsx("a",{href:s.link_url,target:s.link_target||"_self",rel:s.link_target==="_blank"?"noopener noreferrer":void 0,className:"mt-6 inline-flex items-center justify-center rounded-lg px-5 py-3 font-body text-xs uppercase tracking-[0.18em] text-white transition-transform duration-500 hover:scale-[1.03]",style:{backgroundColor:"hsl(var(--accent))"},children:"Reservar com desconto"})]})]})}const T=[{icon:B,title:"Datas selecionadas",text:"Períodos escolhidos com tarifas especiais durante todo o ano."}
1,{icon:D,title:"Reserva direta",text:"Desconto aplicado direto na tarifa, sem intermediários."},{icon:I,title:"Experiência Vila Inglesa",text:"Café da manhã artesanal, jardins e a serra logo ali."}];function M(){return e.jsx("section",{className:"py-14",style:{backgroundColor:i},children:e.jsx("div",{className:"max-w-[1200px] mx-auto px-6 grid grid-cols-1 md:grid-cols-3 gap-10",children:T.map(s=>e.jsxs("div",{className:"text-center md:text-left",children:[e.jsx(s.icon,{className:"w-6 h-6 mx-auto md:mx-0 mb-4",style:{color:"hsl(var(--accent))"}}),e.jsx("h3",{className:"font-display text-lg mb-2",style:{color:m},children:s.title}),e.jsx("p",{className:"font-body text-sm leading-relaxed",style:{color:"rgba(245,240,230,0.72)"},children:s.text})]},s.title))})})}function z(){const{data:s,isLoading:t}=p({queryKey:["promocoes-accommodations"],queryFn:async()=>{const{data:l,error:a}=await g.from("accommodations").select("*").eq("is_enabled",!0).order("sort_order").limit(3);if(a)throw a;return l},staleTime:3e5});return e.jsx("section",{className:"py-20 lg:py-24",style:{backgroundColor:m},children:e.jsxs("div",{className:"max-w-[1200px] mx-auto px-6",children:[e.jsx(y,{eyebrow:"Acomodações",title:"Conforto em cada detalhe da sua estadia",description:"Apartamentos no prédio histórico e no contemporâneo, todos pensados para que sua única preocupação seja aproveitar Campos do Jordão."}),t?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:Array.from({length:3}).map((l,a)=>e.jsx(h,{className:"h-[380px] rounded-2xl"},a))}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:(s??[]).map(l=>e.jsxs("article",{className:"group overflow-hidden rounded-2xl bg-white transition-all duration-700 hover:-translate-y-1",style:{boxShadow:"0 12px 32px hsl(0 0% 0% / 0.08)"},children:[e.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:e.jsx("img",{src:l.image_url||"/placeholder.svg",alt:l.image_alt||l.name,loading:"lazy",decoding:"async",className:"w-full h-full object-cover"})}),e.jsxs("div",{className:"p-6",children:[e.jsx("h3",{className:"font-display text-2xl",style:{color:"hsl(var(--primary))"},children:l.name}),e.jsx("p",{className:"font-body text-sm mt-1",style:{color:"hsl(var(--accent))"},children:(l.building_type||"Histórico")==="Contemporâneo"?"Prédio Contemporâneo":"Prédio Histórico"}),l.description&&e.jsx("p",{className:"font-body text-sm leading-relaxed mt-4",style:{color:"hsl(var(--muted-foreground))"},children:l.description})]})]},l.id))})]})})}function J(){const{data:s}=p({queryKey:["promocoes-gallery"],queryFn:async()=>{const{data:a,error:r}=await g.from("gallery_images").select("id, url, alt_text").eq("is_enabled",!0).order("sort_order",{ascending:!0}).limit(12);if(r)throw r;return a},staleTime:3e5}),[t,l]=b({loop:!0,align:"start"});return e.jsx("section",{className:"py-20 lg:py-24",style:{backgroundColor:i},children:e.jsxs("div",{className:"max-w-[1200px] mx-auto px-6",children:[e.jsx(y,{light:!0,eyebrow:"Nosso Hotel",title:"Um refúgio inglês na Serra da Mantiqueira",description:"Desde 1948, o Hotel Vila Inglesa recebe famílias em Campos do Jordão com jardins, gastronomia e uma hospital
1idade que atravessa gerações."}),((s==null?void 0:s.length)??0)>0&&e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"overflow-hidden rounded-2xl",ref:t,children:e.jsx("div",{className:"flex",children:s.map(a=>e.jsx("div",{className:"min-w-0 shrink-0 grow-0 basis-full md:basis-1/2 lg:basis-1/3 pr-4",children:e.jsx("div",{className:"aspect-[4/3] overflow-hidden rounded-2xl",children:e.jsx("img",{src:a.url,alt:a.alt_text||"Hotel Vila Inglesa",loading:"lazy",decoding:"async",className:"w-full h-full object-cover"})})},a.id))})}),e.jsx("button",{type:"button","aria-label":"Foto anterior",onClick:()=>l==null?void 0:l.scrollPrev(),className:"absolute left-2 top-1/2 -translate-y-1/2 rounded-full p-3 backdrop-blur-sm transition-transform duration-500 hover:scale-[1.08]",style:{backgroundColor:"rgba(245,240,230,0.9)",color:i},children:e.jsx(V,{className:"w-5 h-5"})}),e.jsx("button",{type:"button","aria-label":"Próxima foto",onClick:()=>l==null?void 0:l.scrollNext(),className:"absolute right-6 top-1/2 -translate-y-1/2 rounded-full p-3 backdrop-blur-sm transition-transform duration-500 hover:scale-[1.08]",style:{backgroundColor:"rgba(245,240,230,0.9)",color:i},children:e.jsx(A,{className:"w-5 h-5"})})]})]})})}function O(){return e.jsx("section",{className:"py-20",style:{backgroundColor:m},children:e.jsxs("div",{className:"max-w-[900px] mx-auto px-6 text-center",children:[e.jsx("h2",{className:"font-display text-3xl md:text-4xl leading-tight",style:{color:"hsl(var(--primary))"},children:"Faz bem estar na Vila Inglesa."}),e.jsx("p",{className:"font-body text-base md:text-lg leading-relaxed mt-5",style:{color:"hsl(var(--muted-foreground))"},children:"Fale com a nossa equipe de reservas e garanta a melhor condição para as suas datas."}),e.jsxs("div",{className:"mt-9 flex flex-wrap items-center justify-center gap-4",children:[e.jsx("a",{href:"https://wa.me/551236695000",target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center justify-center rounded-lg px-8 py-4 font-body text-xs uppercase tracking-[0.18em] text-white transition-transform duration-500 hover:scale-[1.03]",style:{backgroundColor:"hsl(var(--accent))"},children:"Falar no WhatsApp"}),e.jsx(u,{to:"/pacotes/",className:"inline-flex items-center justify-center rounded-lg px-8 py-4 font-body text-xs uppercase tracking-[0.18em] transition-transform duration-500 hover:scale-[1.03]",style:{border:`1px solid ${i}`,color:i},children:"Ver pacotes"})]})]})})}const te=()=>{f(),N();const{data:s,isLoading:t}=q(),{data:l}=k(),a=w(l,"promocoes_page",{}),r=a.page_title||"Escolha sua data e garanta benefícios exclusivos",n=a.page_subtitle||"Promoções",v=a.page_description||"Selecionamos períodos especiais para você viver a experiência Vila Inglesa com condições imperdíveis. Escolha o mês que melhor se encaixa nos planos da sua família e reserve direto com desconto aplicado à tarifa.",x=j.useMemo(()=>{const o=new Map;return(s||[]).forEach(c=>{const d=c.month_group||"Promoções";o.has(d)||o.set(d,[]),o.get(d).push(c)}),Array.from(o.entries())},[s]);return e.jsxs("div",{id:"project-site-root",className:"min-h-screen flex flex-col",children:[e.jsx(_,{title:"Promoções e Ofertas Exclusivas",description:"Promoções com datas especiais no Hotel Vila Inglesa em Campos do Jordão. Condições exclusivas para sua estadia.",path:"/promocoes/",breadcrumbs:[...C,{name:"Promoções",url:"https://www.hotelvilainglesa.com.br/promocoes/"}]}),e.jsx(R,{}),e.jsxs("main",{id:"main-content",className:"flex-1",role:"main",children:[e.jsx(S,{pageSlug:"promocoes",hideBookingForm:!0}),e.jsx("section",{className:"py-20 lg:py-24",style:{backgroundColor:"hsl(var(--secondary))"},children:e.jsxs("div",{className:"max-w-[1200px] mx-auto px-6",children:[e.jsxs("div",{className:"text-center max-w-3xl mx-auto mb-16",children:[e.jsx("p",{className:"font-body uppercase tracking-[0.32em] text-xs mb-5",style:{color:"hsl(var(--accent))"},children:n}),e.jsx("h1",{className:"font-display text-3xl md:text-4xl lg:text-5xl leading-tight mb-6",style:{color:"hsl(var(--primary))"},children:r}),e.jsx("div",{className:"h-px w-16 mx-auto mb-6",style:{backgroundColor:"hsl(var(--accent))"}}),e.jsx("p",{className:"font-body text-base md:text-lg leading-relaxed",style:{color:"hsl(var(--muted-foreground))"},children:v})]}),t?e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8",children:Array.from({length:3}).map((o,c)=>e.jsx(h,{className:"h-[460px] rounded-2xl"},c))}):x.length===0?e.jsx("p",{className:"text-center font-body py-10",style:{color:"hsl(var(--muted-foreground))"},children:"Nenhuma promoção disponível no momento. Fale com a nossa equipe de reservas para conhecer as condições atuais."}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 items-start",children:x.map(([o,c])=>e.jsxs("div",{className:"flex flex-col gap-8",children:[x.length>1&&e.jsx("h2",{className:"font-display text-2xl md:text-3xl text-center",style:{color:"hsl(var(--primary))"},children:o}),e.jsx("div",{className:"flex flex-col gap-8",children:c.map(d=>e.jsx(L,{offer:d},d.id))})]},o))})]})}),e.jsx(M,{}),e.jsx(z,{}),e.jsx(J,{}),e.jsx(O,{})]}),e.jsx(E,{}),e.jsx(P,{}),e.jsx(F,{})]})};export{te as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.