.kp-memory{--kp-accent:#242824;--kp-card:#fbfbf9;--kp-text:#252925;--kp-border:#d9ddd8;font-family:inherit;color:var(--kp-text);max-width:1180px;margin:64px auto 30px;box-sizing:border-box}.kp-memory *{box-sizing:border-box}.kp-intro{text-align:center;margin-bottom:30px}.kp-intro>span{display:block;color:var(--kp-accent);font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;margin-bottom:12px}.kp-intro h2{color:var(--kp-text);font-size:clamp(30px,4vw,42px);line-height:1.15;margin:0 0 12px}.kp-intro p{color:color-mix(in srgb,var(--kp-text) 62%,transparent);font-size:17px;margin:0}.kp-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kp-action{appearance:none;background:var(--kp-card);border:1px solid var(--kp-border);border-radius:14px;min-height:168px;padding:22px 14px;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;color:var(--kp-text);font:inherit;text-align:center;transition:transform .2s,box-shadow .2s,border-color .2s}.kp-action:hover,.kp-action:focus-visible{border-color:var(--kp-accent);box-shadow:0 12px 32px rgba(25,31,26,.09);transform:translateY(-2px);outline:none}.kp-action-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:10px}.kp-action-icon svg{width:54px;height:54px;fill:none;stroke:var(--kp-accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.kp-action-icon .flame{fill:#dca24b;stroke:#a66a24}.kp-action strong{color:var(--kp-accent);font-size:16px;margin-bottom:6px}.kp-action small{font-size:13px;line-height:1.4;opacity:.62}.kp-counts{min-height:70px;display:flex;align-items:center;justify-content:center;gap:17px;color:color-mix(in srgb,var(--kp-text) 65%,transparent);font-size:14px;border-bottom:1px solid var(--kp-border)}.kp-counts b{color:var(--kp-text)}.kp-counts i{width:3px;height:3px;border-radius:50%;background:var(--kp-border)}.kp-feed{padding-top:27px}.kp-feed h3{font-size:21px;margin:0 0 16px}.kp-entry-list{display:grid;gap:10px}.kp-empty{background:var(--kp-card);border:1px solid var(--kp-border);border-radius:14px;padding:26px;color:color-mix(in srgb,var(--kp-text) 58%,transparent);text-align:center}.kp-entry{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;background:var(--kp-card);border:1px solid transparent;border-radius:15px;padding:14px 20px;min-height:92px}.kp-entry-meta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.kp-entry-meta strong{font-size:15px}.kp-entry-meta time{font-size:12px;opacity:.55}.kp-entry p{margin:8px 0 0;line-height:1.55;font-size:14px}.kp-entry-flower svg{width:70px;height:55px}.kp-entry-symbol{width:54px;height:54px;display:grid;place-items:center}.kp-entry-symbol svg{width:42px;height:42px;fill:none;stroke:var(--kp-accent);stroke-width:1.7}.kp-more{display:block;margin:18px auto 0;border:1px solid var(--kp-accent);background:transparent;color:var(--kp-accent);border-radius:8px;padding:9px 17px}.kp-modal{position:fixed;inset:0;z-index:999999;background:rgba(24,29,25,.58);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:20px}.kp-modal.open{display:flex}.kp-dialog{position:relative;background:#fff;color:var(--kp-text);border-radius:20px;box-shadow:0 25px 75px rgba(0,0,0,.25);width:min(520px,100%);max-height:92vh;overflow:auto;padding:31px}.kp-dialog-wide{width:min(680px,100%)}.kp-dialog h3{font-size:25px;margin:0 45px 5px 0}.kp-dialog-lead{margin:0 0 22px;opacity:.62}.kp-close{position:absolute;right:20px;top:18px;width:38px;height:38px;border:1px solid var(--kp-border);border-radius:50%;background:#fff;color:var(--kp-text);font-size:25px;line-height:1;cursor:pointer}.kp-choice-grid{display:grid;gap:10px;margin-bottom:20px}.kp-flower-grid{grid-template-columns:repeat(3,1fr)}.kp-candle-grid{grid-template-columns:repeat(4,1fr)}.kp-choice{border:1px solid var(--kp-border);border-radius:13px;padding:10px 7px;min-height:130px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;cursor:pointer;text-align:center;transition:.18s}.kp-choice:hover,.kp-choice.selected{border-color:var(--kp-accent);box-shadow:inset 0 0 0 1px var(--kp-accent);background:color-mix(in srgb,var(--kp-card) 75%,white)}.kp-choice input{position:absolute;opacity:0;pointer-events:none}.kp-choice small{font-size:11px;line-height:1.25;margin-top:4px}.kp-flower-art{display:grid;place-items:center;height:84px}.kp-flower-art svg{width:112px;height:86px}.kp-art{height:82px;display:flex;align-items:flex-end;justify-content:center}.kp-field{display:block;margin:14px 0}.kp-field>span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.kp-field em{font-style:normal;font-weight:400;opacity:.55}.kp-field b{color:#a24545}.kp-field input,.kp-field textarea{display:block;width:100%;border:1px solid var(--kp-border)!important;background:#fff!important;color:var(--kp-text)!important;border-radius:9px!important;padding:12px 13px!important;font:inherit!important;box-shadow:none!important}.kp-field input:focus,.kp-field textarea:focus{outline:2px solid color-mix(in srgb,var(--kp-accent) 25%,transparent)!important;border-color:var(--kp-accent)!important}.kp-submit{border:0;border-radius:9px;background:var(--kp-accent);color:#fff;padding:12px 20px;font:inherit;font-weight:700;cursor:pointer}.kp-submit[disabled]{opacity:.55;cursor:wait}.kp-error{color:#a13d3d;font-size:13px;margin:10px 0}.kp-flower-art svg,.kp-entry-flower svg{overflow:visible}.kp-flower-art .st,.kp-entry-flower .st{fill:none;stroke:#667b68;stroke-width:2.2;stroke-linecap:round}.kp-flower-art .leaf,.kp-entry-flower .leaf{fill:#7f977f;stroke:#617662}.kp-flower-art .petal,.kp-entry-flower .petal{fill:#faf8ef;stroke:#a9ad9b;stroke-width:1.7}.kp-flower-art .line,.kp-entry-flower .line{fill:none;stroke:#c9a86a;stroke-width:1.5}.kp-flower-art .wrap,.kp-entry-flower .wrap{fill:#e9e3d7;stroke:#9a927f;stroke-width:1.4}.kp-flower-art .ribbon,.kp-entry-flower .ribbon{fill:#d8c8aa;stroke:#8d826d;stroke-width:1.3}
.kp-candle{position:relative;display:block;width:42px;height:75px}.kp-flame{position:absolute;z-index:3;left:50%;top:0;width:15px;height:24px;transform:translateX(-50%);border-radius:50% 50% 48% 48%;background:linear-gradient(#fff8bc 10%,#f6b83f 46%,#d66b25 100%);box-shadow:0 0 13px rgba(242,166,51,.72);transform-origin:50% 100%;animation:kp-flicker 1.8s ease-in-out infinite}.kp-flame i{position:absolute;left:5px;top:8px;width:5px;height:11px;border-radius:50%;background:#fff7d5}.kp-wick{position:absolute;z-index:2;left:50%;top:22px;width:2px;height:8px;background:#39342e;transform:translateX(-50%)}.kp-candle-body{position:absolute;left:7px;right:7px;top:28px;bottom:0;border:1px solid #d5d0c4;border-radius:5px 5px 8px 8px;background:linear-gradient(90deg,#ece8df,#fff 45%,#e8e2d7);box-shadow:0 7px 9px rgba(41,38,30,.12)}.kp-candle-body i{display:block;height:8px;border-radius:50%;border-bottom:1px solid #d6d0c4}.kp-candle.glass{width:52px}.kp-candle.glass .kp-candle-body{left:3px;right:3px;top:30px;background:linear-gradient(90deg,rgba(122,35,28,.85),rgba(199,71,48,.62),rgba(112,24,22,.88));border-color:#70211e;border-radius:5px 5px 12px 12px}.kp-candle.lantern{width:50px}.kp-candle.lantern .kp-candle-body{left:3px;right:3px;top:25px;background:linear-gradient(90deg,#283029,#718071 45%,#273028);border:4px solid #303a31;border-radius:8px 8px 12px 12px}.kp-candle.lantern:after{content:"";position:absolute;left:9px;right:9px;top:18px;height:12px;border:3px solid #303a31;border-radius:50% 50% 0 0}.kp-candle.classic{width:30px;height:80px}.kp-candle.classic .kp-candle-body{left:4px;right:4px;top:27px;border-radius:2px;background:linear-gradient(90deg,#e4dfd2,#fff 50%,#ddd6c7)}.kp-entry-candle{display:grid;place-items:center;height:66px}.kp-entry-candle .kp-candle{transform:scale(.72)}@keyframes kp-flicker{0%,100%{transform:translateX(-50%) rotate(-2deg) scale(1)}35%{transform:translateX(-50%) rotate(3deg) scale(.93,1.06)}70%{transform:translateX(-50%) rotate(-1deg) scale(1.04,.96)}}
@media(max-width:850px){.kp-actions{grid-template-columns:repeat(2,1fr)}.kp-candle-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.kp-memory{margin-top:40px}.kp-actions{grid-template-columns:1fr 1fr;gap:9px}.kp-action{min-height:145px;padding:16px 8px}.kp-action small{font-size:11px}.kp-counts{gap:8px;flex-wrap:wrap;padding:13px 4px}.kp-dialog{padding:25px 18px}.kp-flower-grid{grid-template-columns:repeat(2,1fr)}.kp-choice{min-height:120px}.kp-entry{grid-template-columns:58px 1fr;padding:12px}.kp-entry-flower svg{width:57px}.kp-intro p{font-size:15px}}

/* Wysoka specyficzność chroni wygląd modułu przed globalnymi stylami Elementora. */
.kp-memory button.kp-action:hover,.kp-memory button.kp-action:focus,.kp-memory button.kp-action:active,.elementor .kp-memory button.kp-action:hover,.elementor .kp-memory button.kp-action:focus{background-color:var(--kp-hover,#fbfbf9)!important;background-image:none!important;color:var(--kp-text)!important;border-color:var(--kp-accent)!important}.kp-memory button.kp-action:hover strong,.kp-memory button.kp-action:focus strong{color:var(--kp-accent)!important}.kp-memory button.kp-submit,.kp-memory button.kp-submit:hover,.kp-memory button.kp-submit:focus,.elementor .kp-memory button.kp-submit:hover{background:var(--kp-accent)!important;background-color:var(--kp-accent)!important;color:#fff!important;border-color:var(--kp-accent)!important}.kp-memory button.kp-close:hover,.kp-memory button.kp-close:focus,.elementor .kp-memory button.kp-close:hover{background:#fff!important;color:var(--kp-text)!important;border-color:var(--kp-accent)!important}
.kp-flower-art{width:100%;height:94px;overflow:visible;border-radius:9px}.kp-flower-art img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;border:0!important;border-radius:9px!important}.kp-flower-grid .kp-choice{padding:7px 7px 10px;min-height:137px}.kp-entry{grid-template-columns:126px 1fr}.kp-entry-flower{display:flex;align-items:center;justify-content:center;width:118px;height:78px;overflow:visible;border-radius:8px}.kp-entry-flower img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;border:0!important}.kp-memory button.kp-close,.elementor .kp-memory button.kp-close{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;width:34px!important;height:34px!important}.kp-memory button.kp-close:hover,.kp-memory button.kp-close:focus,.elementor .kp-memory button.kp-close:hover{border:0!important;background:transparent!important;color:var(--kp-accent)!important}.kp-memory button.kp-more,.kp-memory button.kp-more:hover,.kp-memory button.kp-more:focus,.elementor .kp-memory button.kp-more:hover{background:transparent!important;background-color:transparent!important;background-image:none!important;color:var(--kp-accent)!important;border:1px solid var(--kp-accent)!important;box-shadow:none!important}.kp-memory button.kp-more[hidden]{display:none!important}
@media(max-width:560px){.kp-entry{grid-template-columns:86px 1fr}.kp-entry-flower{width:82px;height:65px}}

/* Fotograficzne grafiki akcji i bezpieczny układ podpisów kompozycji. */
.kp-flower-grid .kp-choice{display:grid!important;grid-template-rows:105px minmax(30px,auto)!important;align-items:center!important;justify-items:stretch!important;gap:8px!important;min-height:158px!important;padding:8px 8px 7px!important;overflow:hidden!important}.kp-flower-grid .kp-choice .kp-flower-art{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:105px!important;overflow:hidden!important}.kp-flower-grid .kp-choice .kp-flower-art img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}.kp-flower-grid .kp-choice small{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;margin:0!important;padding:2px 4px!important;background:var(--kp-card)!important;line-height:1.2!important}.kp-action-icon{width:78px!important;height:68px!important;margin-bottom:10px!important}.kp-action-flower .kp-action-icon img{display:block!important;width:94px!important;height:68px!important;max-width:94px!important;object-fit:contain!important;filter:drop-shadow(0 3px 3px rgba(28,35,28,.14))}.kp-action-candle .kp-action-icon .kp-candle{transform:scale(.82);transform-origin:center}.kp-action-icon .kp-color-icon{width:66px!important;height:66px!important;stroke:none!important}.kp-color-icon .kp-heart-fill{fill:url(#kp-heart)}.kp-color-icon .kp-hand-fill{fill:#e7c3aa;stroke:#9e7560;stroke-width:1.2}.kp-color-icon .kp-detail{fill:none;stroke:#9e7560;stroke-width:1.5;stroke-linecap:round}.kp-color-icon .kp-frame-fill{fill:url(#kp-frame)}.kp-color-icon .kp-photo{fill:#f3eee5}.kp-color-icon .kp-silhouette{fill:#9ba89b}.kp-color-icon .kp-spark{fill:#e4c46f}.kp-color-icon .kp-leaf{fill:#788d77}.kp-entry-flower img{filter:drop-shadow(0 3px 4px rgba(28,35,28,.14))}
@media(max-width:560px){.kp-flower-grid .kp-choice{grid-template-rows:88px minmax(32px,auto)!important;min-height:140px!important}.kp-flower-grid .kp-choice .kp-flower-art{height:88px!important}.kp-action-icon{width:68px!important;height:60px!important}.kp-action-flower .kp-action-icon img{width:78px!important;height:58px!important}}

.kp-action-icon .kp-action-picture{display:block!important;width:68px!important;height:68px!important;max-width:68px!important;object-fit:contain!important;margin:0!important;border:0!important;border-radius:0!important}.kp-entry-symbol .kp-action-picture{display:block!important;width:52px!important;height:52px!important;object-fit:contain!important;margin:0!important;border:0!important}.kp-action-condolence .kp-action-picture{transform:scale(1.08)}.kp-action-farewell .kp-action-picture{transform:scale(1.02)}

/* Równa, wyśrodkowana kolumna symboli w historii gestów. */
.kp-entry{grid-template-columns:140px minmax(0,1fr)!important;column-gap:18px!important}.kp-entry>.kp-entry-flower,.kp-entry>.kp-entry-candle,.kp-entry>.kp-entry-symbol{justify-self:stretch!important;align-self:center!important;width:100%!important;height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important}.kp-entry>.kp-entry-flower img{width:124px!important;height:78px!important;object-fit:contain!important}.kp-entry>.kp-entry-candle .kp-candle{margin:auto!important}.kp-entry>.kp-entry-symbol .kp-action-picture{width:64px!important;height:64px!important;margin:auto!important}.kp-entry>div:last-child{align-self:center!important;min-width:0!important}
@media(max-width:560px){.kp-entry{grid-template-columns:92px minmax(0,1fr)!important;column-gap:10px!important}.kp-entry>.kp-entry-flower,.kp-entry>.kp-entry-candle,.kp-entry>.kp-entry-symbol{height:68px!important}.kp-entry>.kp-entry-flower img{width:88px!important;height:64px!important}.kp-entry>.kp-entry-symbol .kp-action-picture{width:54px!important;height:54px!important}}

/* Realistyczne znicze z delikatnym, czytelnym płomieniem. */
.kp-photo-candle{position:relative;display:block;width:70px;height:82px}.kp-photo-candle>img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;margin:0!important;border:0!important;filter:drop-shadow(0 4px 4px rgba(16,18,16,.18))}.kp-photo-candle .kp-flame{width:14px;height:23px;top:34px;z-index:5}.kp-photo-candle.grave-clear .kp-flame{top:35px}.kp-photo-candle.grave-pillar .kp-flame{top:7px}.kp-flame{width:17px;height:27px;box-shadow:0 0 10px 3px rgba(242,166,51,.48);animation:kp-flicker-soft 1.65s ease-in-out infinite}.kp-flame i{left:5px;top:8px;width:6px;height:12px}.kp-entry-candle .kp-photo-candle{transform:scale(.82);transform-origin:center}.kp-action-candle .kp-photo-candle{transform:scale(.78);transform-origin:center}.kp-candle-grid .kp-art{height:90px;align-items:center}.kp-candle-grid .kp-choice{min-height:142px}.kp-candle-grid .kp-choice small{min-height:28px;display:flex;align-items:center;justify-content:center}@keyframes kp-flicker-soft{0%,100%{transform:translateX(-50%) rotate(-1.5deg) scale(1)}35%{transform:translateX(-50%) rotate(1.8deg) scale(.97,1.04)}70%{transform:translateX(-50%) rotate(-.8deg) scale(1.03,.98)}}

/* Pozycja płomienia nad knotem otwartych zniczy. */
.kp-photo-candle.grave-smoked .kp-flame{top:7px}.kp-photo-candle.grave-pillar .kp-flame{top:6px}.kp-photo-candle.grave-clear .kp-flame{top:2px}

.kp-dialog-candles{width:min(720px,100%)}.kp-dialog-candles .kp-candle-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kp-photo-candle.grave-bowl .kp-flame{top:12px}.kp-photo-candle.grave-bowl{width:82px}@media(max-width:850px){.kp-dialog-candles .kp-candle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.kp-dialog-candles .kp-candle-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kp-photo-candle.grave-green .kp-flame{top:0}.kp-photo-candle.grave-green{width:74px}@media(max-width:560px){.kp-dialog-candles .kp-candle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
