.event-page { --page-accent:#a1661c; --page-accent-dark:#714612; --page-bg:#fbf7f1; --page-card:#fffdfa; --page-soft:#f4eadc; --page-line:rgba(161,102,28,.22); --page-text:#211d19; --page-muted:#6b645e; color:var(--page-text); background:var(--page-bg); }
.event-page.page-aniversarios { --page-accent:#b27729; --page-accent-dark:#77460f; --page-soft:#fbefe3; }
.event-page.page-casamentos { --page-accent:#a06c26; --page-accent-dark:#6b4210; --page-soft:#f8eee3; }
.event-page.page-formaturas { --page-accent:#b18322; --page-accent-dark:#7a550d; --page-soft:#f8f0de; }
.event-page.page-corporativo { --page-accent:#17457a; --page-accent-dark:#0f3158; --page-soft:#eaf0f8; --page-line:rgba(23,69,122,.18); }
.event-page .btn-primary, .event-page .btn-whatsapp, .event-page .tag { background:var(--page-accent); }
.event-page .btn-secondary { color:var(--page-accent-dark); border-color:var(--page-accent); }
.event-page .brand-image img { width:290px; height:auto; }

.event-page .page-hero { padding:72px 0 58px; background:linear-gradient(135deg,#fffdfa,var(--page-soft)); border-bottom:1px solid var(--page-line); }
.page-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(370px,500px); gap:42px; align-items:center; }
.page-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:22px; color:var(--page-muted); font-size:.72rem; }
.page-breadcrumb a { color:var(--page-accent-dark); text-decoration:none; }
.page-hero-copy .eyebrow { color:var(--page-accent-dark); }
.page-hero-copy h1 { font-size:clamp(3rem,5.4vw,4.75rem); }
.page-hero-copy p { max-width:650px; color:var(--page-muted); }
.page-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.page-hero-figure { margin:0; overflow:hidden; background:linear-gradient(180deg,#fbf6ef,#f1e4d0); border:1px solid var(--page-line); border-radius:24px; box-shadow:0 20px 45px rgba(40,30,20,.11); }
.page-hero-figure img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.page-hero-figure img[src*="festa-neon-prismatic"],
.event-type-card > img[src*="festa-neon-prismatic"],
.modal-gallery img[src*="festa-neon-prismatic"],
.memory-photo img[src*="festa-neon-prismatic"] { object-position:center 2%; }
.event-type-card > img[src*="baile-formatura-prismatic"],
.modal-gallery img[src*="baile-formatura-prismatic"],
.memory-photo img[src*="baile-formatura-prismatic"] { object-position:center 10%; }

.event-section { padding:84px 0; }
.event-section.alt { background:var(--page-soft); }
.event-section .section-heading { margin-bottom:38px; }
.event-section .section-heading p { max-width:720px; margin-inline:auto; color:var(--page-muted); }
.event-types-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.event-types-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.event-type-card { position:relative; min-width:0; display:flex; flex-direction:column; text-align:left; background:var(--page-card); border:1px solid var(--page-line); border-radius:22px; box-shadow:0 18px 36px rgba(40,30,20,.07); overflow:hidden; cursor:pointer; transition:transform .22s ease,box-shadow .22s ease; }
.event-type-card:hover, .event-type-card:focus-within { transform:translateY(-5px); box-shadow:0 25px 46px rgba(40,30,20,.12); }
.event-type-card > img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; background:linear-gradient(180deg,#fbf6ef,#f1e4d0); transition:transform .5s cubic-bezier(.2,.72,.22,1); }
.event-type-card:hover > img, .event-type-card:focus-within > img { transform:scale(1.025); }
.event-type-card .card-body { position:relative; flex:1; padding:24px; }
.event-type-icon { width:66px; height:66px; display:grid; place-items:center; margin:-57px 0 17px; color:var(--page-accent-dark); background:#fff; border:5px solid #fff; border-radius:50%; box-shadow:0 10px 22px rgba(45,32,20,.13); }
.event-type-icon img { width:31px; height:31px; filter:sepia(.35) saturate(1.25); }
.page-corporativo .event-type-icon img { filter:none; }
.event-type-card .tag { display:inline-flex; align-items:center; padding:6px 11px; margin-bottom:12px; color:#fff; border-radius:999px; font-size:.7rem; font-weight:700; }
.event-type-card h3 { margin:0 0 9px; font-size:2rem; }
.event-type-card p { margin:0; color:var(--page-muted); font-size:.86rem; }
.card-cta-button, .event-type-card .card-cta { display:inline-flex; align-items:center; gap:9px; margin-top:17px; padding:0; color:var(--page-accent-dark); background:none; border:0; font-size:.83rem; font-weight:700; cursor:pointer; }
.card-cta-button span { transition:transform .2s ease; }
.card-cta-button:hover span { transform:translateX(4px); }

.event-includes { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.event-includes article { padding:25px; background:#fff; border:1px solid var(--page-line); border-radius:18px; }
.event-includes h3 { font-size:1.45rem; }
.event-includes p { margin:0; color:var(--page-muted); font-size:.84rem; }
.event-memory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.memory-card { background:#fff; border:1px solid var(--page-line); border-radius:22px; box-shadow:0 16px 34px rgba(45,32,20,.08); overflow:hidden; transition:transform .28s ease,box-shadow .28s ease; }
.memory-card:hover { transform:translateY(-4px); box-shadow:0 23px 42px rgba(45,32,20,.12); }
.memory-photo { padding:14px; background:linear-gradient(180deg,#fbf6ef,#f2e7d7); }
.memory-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; background:#fffdfa; border-radius:13px; }
.memory-photo img.is-product { object-fit:contain; padding:8px; }
.memory-copy { padding:2px 20px 22px; }
.memory-copy h3 { margin:0 0 8px; font-size:1.55rem; }
.memory-copy p { margin:0; color:var(--page-muted); font-size:.86rem; }
.event-polaroid-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:980px; margin:auto; }
.event-polaroid { margin:0; padding:10px 10px 38px; background:#fff; border:1px solid var(--page-line); box-shadow:0 16px 32px rgba(45,32,20,.12); }
.event-polaroid img { display:block; width:100%; aspect-ratio:1; object-fit:contain; object-position:center; }
.event-polaroid figcaption { margin-top:8px; color:var(--page-accent-dark); font-family:"Cormorant Garamond",Georgia,serif; text-align:center; }

.page-banner { padding:58px 0; color:#fff; background:#20160f; }
.page-banner .cta-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.page-banner p { max-width:680px; color:#e7ddd4; }

.event-modal { position:fixed; inset:0; z-index:1300; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(16,13,11,.68); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .26s ease,visibility 0s linear .26s; }
.event-modal.is-open { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.event-modal-dialog { position:relative; width:min(1080px,100%); max-height:min(88vh,980px); overflow:auto; overscroll-behavior:contain; background:#fff; border:1px solid var(--page-line); border-radius:24px; box-shadow:0 30px 80px rgba(0,0,0,.24); transform:translateY(12px) scale(.985); transition:transform .32s cubic-bezier(.2,.72,.22,1); }
.event-modal.is-open .event-modal-dialog { transform:none; }
.event-modal-close { position:sticky; top:12px; z-index:3; float:right; width:44px; height:44px; margin:12px 12px 0 0; color:var(--page-accent-dark); background:#fff; border:1px solid var(--page-line); border-radius:50%; font-size:1.35rem; cursor:pointer; }
.event-modal-content { display:grid; gap:18px; padding:16px 24px 28px; clear:both; }
.event-modal-header h3 { margin:0 0 7px; font-size:clamp(2rem,4vw,3rem); }
.event-modal-header p { max-width:820px; margin:0; color:var(--page-muted); }
.modal-gallery { display:block; }
.modal-gallery img { display:block; width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; object-position:center 34%; background:#fbf5ec; border:1px solid var(--page-line); border-radius:17px; }
.modal-gallery img:not(:first-child) { display:none; }
.modal-gallery img.is-product { object-fit:contain; padding:8px; }
.modal-meta { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }
.modal-copy, .modal-features { padding:22px; background:var(--page-soft); border-radius:18px; }
.modal-copy h4, .modal-features h4 { font-size:1.25rem; }
.modal-copy p, .modal-features ul { margin:0; color:var(--page-muted); }
.modal-features li + li { margin-top:7px; }
.modal-actions { display:flex; flex-wrap:wrap; gap:12px; }

@media (max-width:980px) {
  .page-hero-grid, .event-types-grid, .event-types-grid.three, .event-includes, .event-memory-grid, .event-polaroid-strip, .modal-gallery, .modal-meta { grid-template-columns:1fr; }
  .page-banner .cta-inner { flex-direction:column; align-items:flex-start; }
  .modal-gallery img { height:auto; min-height:0; aspect-ratio:4/3; object-position:center 28%; }
}
@media (max-width:680px) {
  .event-page .brand-image img { width:min(238px,68vw); }
  .event-page .page-hero { padding:44px 0 50px; }
  .event-section { padding:64px 0; }
  .event-modal { padding:10px; }
  .event-modal-content { padding:12px 15px 22px; }
}
