:root{--celebra-coral:#ef6c61;--celebra-ink:#242326;--celebra-cream:#fffaf4;--celebra-green:#76a47e;--celebra-purple:#9b82c4;--celebra-yellow:#f4bd45}
.celebra-reg-intro,.celebra-directory{max-width:1180px;margin:40px auto 0;padding:36px 24px 12px;text-align:center;color:var(--celebra-ink)}
.celebra-reg-intro h1,.celebra-directory h1{font-size:clamp(36px,6vw,68px);line-height:1.03;margin:12px 0 16px}.celebra-reg-intro p,.celebra-directory>p{font-size:18px;color:#68656a}.celebra-kicker{display:inline-block;background:#f5edc7;border-radius:999px;padding:8px 16px;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.celebra-form{max-width:1100px;margin:24px auto 80px;padding:0 22px;color:var(--celebra-ink)}.celebra-form section{background:#fff;border:1px solid #eee6de;border-radius:22px;padding:28px;margin:20px 0;box-shadow:0 12px 35px rgba(65,44,23,.06)}.celebra-form h2{font-size:24px;margin:0 0 22px}.celebra-form label{display:block;font-weight:650;margin:12px 0}.celebra-form input,.celebra-form select,.celebra-form textarea,.celebra-search input,.celebra-search select{width:100%;margin-top:7px;border:1px solid #ddd3ca;border-radius:12px;padding:13px 14px;background:#fff;font:inherit;box-sizing:border-box}.celebra-form textarea{resize:vertical}.celebra-grid{display:grid;gap:18px}.celebra-grid.two{grid-template-columns:repeat(2,1fr)}.celebra-grid.three{grid-template-columns:repeat(3,1fr)}
.celebra-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 18px}.celebra-checks label,.celebra-consent{padding:12px 14px;border:1px solid #eee4dc;border-radius:10px;background:#fffdfb}.celebra-checks input,.celebra-consent input,.celebra-plans input{width:auto;margin:0 7px 0 0}
.celebra-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.celebra-plans-four{grid-template-columns:repeat(4,1fr)}.celebra-plan-card{position:relative}.celebra-plan-card>label{display:block;height:100%;margin:0}.celebra-plan-card span{display:block;height:100%;min-height:170px;border:2px solid #eee6de;border-radius:18px;padding:20px 46px 20px 20px;box-sizing:border-box}.celebra-plan-card input{width:auto;margin:0 7px 0 0}.celebra-plan-card input:checked+span{border-color:var(--celebra-coral);background:#fff8f6}.celebra-plan-card strong,.celebra-plan-card b,.celebra-plan-card small{display:block}.celebra-plan-card strong{font-size:20px}.celebra-plan-card b{color:var(--celebra-coral);margin:8px 0}.celebra-plan-card small{font-weight:400;line-height:1.5}.celebra-info{position:absolute;right:12px;top:12px;z-index:2}.celebra-info summary{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--celebra-purple);color:#fff;font-weight:900;cursor:pointer;list-style:none}.celebra-info summary::-webkit-details-marker{display:none}.celebra-info>div{position:absolute;right:0;top:34px;width:260px;padding:15px;background:#fff;border:1px solid #e5ddd5;border-radius:12px;box-shadow:0 12px 30px rgba(65,44,23,.16);font-size:14px;line-height:1.45}.celebra-addon{position:relative;display:flex;justify-content:space-between;gap:18px;margin-top:18px;padding:18px 55px 18px 20px;border:2px dashed var(--celebra-yellow);border-radius:16px;background:#fffdf6}.celebra-addon strong,.celebra-addon b{display:block}.celebra-addon b{color:var(--celebra-coral);margin-top:5px}.celebra-addon p{margin:6px 0 0}.celebra-note,.celebra-success,.celebra-error{padding:18px 20px;border-radius:14px;margin:20px auto;max-width:1060px}.celebra-note{background:#fff3ee;border-left:4px solid var(--celebra-coral)}.celebra-success{background:#edf8ef;border-left:4px solid var(--celebra-green)}.celebra-error{background:#fff0ef;border-left:4px solid var(--celebra-coral)}.celebra-submit,.celebra-search button{display:inline-block;border:0;border-radius:999px;background:var(--celebra-coral);color:#fff!important;font-weight:800;padding:15px 26px;text-decoration:none;cursor:pointer}.celebra-form>.celebra-submit{display:block;margin:25px auto;font-size:18px}.celebra-hp{position:absolute!important;left:-9999px!important}
.celebra-search{display:grid;grid-template-columns:1.2fr 1.2fr 1fr auto;gap:12px;max-width:1050px;margin:30px auto;background:#fff;padding:14px;border-radius:18px;box-shadow:0 10px 35px rgba(65,44,23,.1)}.celebra-search input,.celebra-search select{margin:0}.celebra-results{max-width:1180px;margin:25px auto 80px;padding:0 22px;text-align:left}.celebra-count{font-weight:700;margin-bottom:18px}.celebra-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.celebra-card{background:#fff;border:1px solid #eee6de;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(65,44,23,.07)}.celebra-card>a{color:inherit;text-decoration:none}.celebra-card img{width:100%;height:230px;object-fit:cover;display:block}.celebra-card-body{padding:20px}.celebra-card h2{font-size:23px;margin:6px 0}.celebra-card p{color:#68656a}.celebra-muted{color:#857f7a}.celebra-badge{display:inline-block;background:var(--celebra-yellow);padding:5px 10px;border-radius:999px;font-weight:800;font-size:12px}.celebra-empty{grid-column:1/-1;padding:45px;text-align:center;background:#fff;border-radius:18px}.celebra-profile{max-width:1000px;margin:30px auto}.celebra-profile dl>div{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid #eee;padding:12px 0}.celebra-profile dt{font-weight:800}.celebra-profile dd{margin:0}.celebra-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.celebra-gallery img{width:100%;height:260px;object-fit:cover;border-radius:14px}
.celebra-terms{display:flex;flex-wrap:wrap;gap:8px}.celebra-term{display:inline-block;padding:7px 11px;border-radius:999px;background:#fff3ee;color:var(--celebra-ink);font-weight:700;text-decoration:none}.celebra-term:hover{background:var(--celebra-coral);color:#fff}
@media(max-width:1000px){.celebra-plans-four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.celebra-grid.two,.celebra-grid.three,.celebra-plans,.celebra-search,.celebra-cards{grid-template-columns:1fr}.celebra-checks{grid-template-columns:1fr 1fr}.celebra-form section{padding:20px}.celebra-gallery{grid-template-columns:1fr 1fr}.celebra-profile dl>div{grid-template-columns:1fr}.celebra-reg-intro,.celebra-directory{padding-top:20px}.celebra-info>div{width:min(240px,70vw)}}
@media(max-width:450px){.celebra-checks,.celebra-gallery{grid-template-columns:1fr}}
