.campaign-share, .chanuka-duch { box-sizing: border-box; }
.campaign-share * , .chanuka-duch * { box-sizing: border-box; }
.campaign-share {
  min-height: 100svh; display: grid; place-items: center; padding: 16px;
  color: white; text-align: left; font-family: "DM Sans", "Segoe UI", sans-serif;
  background: var(--share-dark);
}
.campaign-share--lulav { --share-base: #4ba334; --share-dark: #235a2b; --share-accent: #ffc94c; --share-display: "Fredoka", sans-serif; }
.campaign-share--chanuka { --share-base: #b8860b; --share-dark: #3e270e; --share-accent: #f4d03f; --share-display: Georgia, serif; }
.campaign-share__card {
  position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column;
  width: min(100%, 430px); min-height: min(760px, calc(100svh - 32px));
  padding: 32px clamp(24px, 7vw, 42px); border-radius: 28px;
  background: linear-gradient(155deg, var(--share-dark), var(--share-base));
  border: 1px solid #ffffff55; box-shadow: 0 24px 70px #0004;
}
.campaign-share__brand { font-size: .9rem; position: relative; z-index: 1; }
.campaign-share__art { height: 165px; align-self: flex-end; margin: -15px -24px -10px 0; }
.campaign-share__art img { height: 100%; width: auto; transform: rotate(-18deg); filter: drop-shadow(0 10px 12px #0004); }
.campaign-share__art span { display: block; font-size: 120px; line-height: 165px; }
.campaign-share__season { margin: 20px 0 12px; color: var(--share-accent); font-weight: 700; font-size: .85rem; }
.campaign-share h1 { margin: 0; color: white; font: 700 clamp(3rem, 14vw, 4.6rem)/.95 var(--share-display); letter-spacing: -.045em; text-transform: none; text-shadow: 0 5px 0 #0002; }
.campaign-share__message { margin: 22px 0 0; font-size: 1rem; line-height: 1.55; }
.campaign-share__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: auto; padding-top: 32px; }
.campaign-share__stats > div { padding: 18px 12px; color: var(--share-dark); background: #fff; border-radius: 16px; }
.campaign-share__number { display: block; font-size: clamp(2rem, 9vw, 3rem); font-weight: 800; line-height: 1; overflow-wrap: anywhere; }
.campaign-share__label { display: block; margin-top: 8px; font-size: .75rem; font-weight: 700; }
.campaign-share__cta { display: block; margin-top: 14px; padding: 18px; border-radius: 16px; color: var(--share-dark); background: var(--share-accent); text-align: center; text-decoration: none; font-weight: 800; }
.campaign-share__cta:focus-visible, .chanuka-duch a:focus-visible, .chanuka-duch button:focus-visible, .chanuka-duch input:focus-visible, .chanuka-duch select:focus-visible, .chanuka-duch textarea:focus-visible { outline: 3px solid #b8860b; outline-offset: 4px; }
.campaign-share__cta:focus-visible { outline-color: white; }
.chanuka-duch { position: relative; z-index: 1; max-width: 760px; margin: auto; padding: 32px 20px 64px; text-align: left; }
.chanuka-duch__card { margin-top: 24px; padding: clamp(24px, 5vw, 40px); border-radius: 24px; background: #fff; color: #3e270e; }
.chanuka-duch h1 { margin: 12px 0; color: #3e270e; font: bold clamp(2rem, 7vw, 3rem)/1.1 Georgia, serif; text-shadow: none; text-transform: none; }
.chanuka-duch p { line-height: 1.6; }
.chanuka-duch fieldset { margin: 24px 0; padding: 0; border: 0; }
.chanuka-duch legend { font-size: 1.25rem; font-weight: 700; margin-bottom: 16px; }
.chanuka-duch__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.chanuka-duch label { display: block; margin-bottom: 6px; font-weight: 600; }
.chanuka-duch input:not([type=hidden]):not([type=submit]), .chanuka-duch select, .chanuka-duch textarea { width: 100%; padding: 12px; border: 1px solid #b8a98f; border-radius: 8px; color: #3e270e; background: white; font: inherit; }
.chanuka-duch__child { border-top: 1px solid #e6dbc8; padding: 20px 0; }
.chanuka-duch__button { display: inline-block; border: 0; border-radius: 10px; padding: 14px 20px; color: #3e270e; background: #f4d03f; font: 700 1rem "Segoe UI", sans-serif; text-decoration: none; cursor: pointer; }
.chanuka-duch__remove { margin-top: 12px; border: 0; padding: 8px 0; background: transparent; color: #843200; text-decoration: underline; cursor: pointer; }
.chanuka-duch__error { background: #fff0e6; padding: 16px; border-left: 4px solid #843200; }
@media (max-width: 480px) { .chanuka-duch__grid { grid-template-columns: 1fr; } }
