:root{--cream:#fffaf5;--paper:#fffdf9;--rose:#b65d6b;--rose-dark:#914351;--rose-soft:#f4d9dc;--sage:#748670;--sage-dark:#344738;--sage-light:#e8eee5;--gold:#c89b4a;--ink:#29352d;--muted:#687069;--line:#e9ddd2;--white:#fff;--shadow:0 24px 60px rgba(59,49,39,.12);--radius:28px;--container:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.65;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{padding:110px 0;position:relative}.section-light{background:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:1000;background:var(--ink);color:#fff;padding:12px 18px;border-radius:10px}.skip-link:focus{top:20px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,250,245,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(200,155,74,.15)}.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#f8e0e2,#fff7eb);border:1px solid rgba(200,155,74,.45);box-shadow:0 8px 20px rgba(182,93,107,.12)}.brand-mark svg{width:31px;fill:none;stroke:var(--rose-dark);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.brand strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:28px;line-height:.9;letter-spacing:.2px}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--sage);margin-top:5px}.main-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:600}.main-nav>a:not(.button){position:relative}.main-nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--rose);transition:.25s}.main-nav>a:not(.button):hover:after{right:0}.nav-login{color:var(--rose-dark)}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #7c1038;background:linear-gradient(135deg,#8f1747,#630927);color:#fff;padding:15px 23px;border-radius:17px;font-weight:700;box-shadow:0 12px 28px rgba(98,9,39,.18);transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(145,67,81,.28)}.button-small{padding:10px 17px;font-size:13px}.button-ghost{background:transparent;color:var(--rose-dark);box-shadow:none;border-color:rgba(145,67,81,.45)}.button-ghost:hover{background:#fff}.button-cream{background:#fff9ed;color:var(--rose-dark);border-color:#fff;box-shadow:none}.button-full{width:100%;justify-content:space-between;border-radius:14px}.play-dot{font-size:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--rose-soft)}
.hero{min-height:760px;display:flex;align-items:center;padding-top:90px;background:radial-gradient(circle at 14% 18%,rgba(244,217,220,.72),transparent 27%),radial-gradient(circle at 89% 77%,rgba(232,238,229,.92),transparent 33%),linear-gradient(180deg,#fffaf5,#fffdf9)}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--rose-dark);font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:700}.eyebrow span{width:35px;height:1px;background:var(--gold)}.hero h1,.section-heading h2,.benefits-intro h2,.slideshow-copy h2,.flyers-copy h2,.security-copy h2,.register-copy h2,.faq-intro h2,.final-cta h2{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.03;margin:20px 0 23px;font-weight:600}.hero h1{font-family:Inter,Arial,sans-serif;font-size:clamp(44px,4.9vw,70px);font-weight:700;letter-spacing:-1.4px}.hero h1 .hero-subtitle{display:block;margin-top:12px;font-family:Inter,Arial,sans-serif;font-style:normal!important;font-weight:700;color:var(--rose-dark);font-size:.42em;line-height:1.2;letter-spacing:0}.hero-lead{font-size:18px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.hero-points{display:flex;flex-wrap:wrap;gap:22px;font-size:13px;color:var(--sage-dark)}.hero-points b{color:var(--gold);margin-right:5px}.hero-visual{height:560px;position:relative}.screen-card{position:absolute;width:520px;right:0;top:50px;background:#111;border:11px solid #2e332f;border-radius:25px;overflow:hidden;box-shadow:0 35px 70px rgba(44,52,46,.25);transform:rotate(1deg)}.screen-card>img{width:100%;height:340px;object-fit:cover;background:#d9dfd6}.screen-top{height:32px;background:#252b27;display:flex;align-items:center;gap:6px;padding:0 13px;color:#dce1dc;font-size:10px}.screen-top i{width:7px;height:7px;border-radius:50%;background:#8a938d}.screen-top span{margin-left:auto}.screen-comment{position:absolute;left:24px;right:24px;bottom:20px;color:#fff;font-family:"Cormorant Garamond",serif;font-size:25px;text-shadow:0 2px 6px #000}.screen-comment small{display:block;font:500 11px Inter,sans-serif;margin-top:3px}.phone-card{position:absolute;width:215px;left:4px;bottom:13px;background:#fff;border:8px solid #313733;border-radius:34px;padding:26px 13px 15px;box-shadow:var(--shadow);transform:rotate(-5deg)}.phone-notch{position:absolute;top:7px;left:50%;translate:-50% 0;width:72px;height:12px;border-radius:8px;background:#313733}.phone-logo{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:700;text-align:center;margin-bottom:12px;color:var(--rose-dark)}.phone-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.phone-photo-grid img{aspect-ratio:1;object-fit:cover;border-radius:7px}.phone-add{display:block;margin-top:11px;padding:8px 4px;text-align:center;border-radius:8px;background:var(--rose);color:#fff;font-size:10px;font-weight:700}.live-badge{position:absolute;right:36px;bottom:57px;background:#fff;padding:12px 17px;border-radius:999px;box-shadow:0 12px 30px rgba(44,52,46,.15);font-size:12px;font-weight:700}.live-badge span{display:inline-block;width:8px;height:8px;background:#45a765;border-radius:50%;margin-right:7px;box-shadow:0 0 0 5px rgba(69,167,101,.13);animation:pulse 2s infinite}.gold-orbit{position:absolute;border:1px solid rgba(200,155,74,.4);border-radius:50%}.orbit-one{width:490px;height:490px;right:-50px;top:30px}.orbit-two{width:300px;height:300px;left:20px;bottom:10px}.floral{position:absolute;width:240px;height:330px;opacity:.4;pointer-events:none}.floral-left{left:-65px;top:70px;background:radial-gradient(circle at 42% 22%,#ebbbc1 0 17%,transparent 18%),radial-gradient(ellipse at 60% 42%,#91a28c 0 11%,transparent 12%),radial-gradient(ellipse at 35% 60%,#879b82 0 9%,transparent 10%);transform:rotate(-25deg);filter:blur(.2px)}.floral-right{right:-70px;bottom:0;background:radial-gradient(circle at 50% 70%,#efd0c5 0 19%,transparent 20%),radial-gradient(ellipse at 36% 42%,#91a28c 0 11%,transparent 12%),radial-gradient(ellipse at 68% 32%,#879b82 0 9%,transparent 10%);transform:rotate(18deg)}
.trust-strip{background:var(--sage-dark);color:#f6f1e8;padding:16px 0;overflow:hidden}.trust-items{display:flex;justify-content:center;gap:18px;align-items:center;white-space:nowrap;font-family:"Cormorant Garamond",serif;font-size:18px}.trust-items i{color:var(--gold)}
.section-heading{text-align:center;max-width:750px;margin:0 auto 62px}.section-heading h2,.benefits-intro h2,.slideshow-copy h2,.flyers-copy h2,.security-copy h2,.register-copy h2,.faq-intro h2,.final-cta h2{font-size:clamp(39px,4.4vw,58px);letter-spacing:-.8px}.section-heading p,.benefits-intro>p,.slideshow-copy>p,.flyers-copy>p,.security-copy>p,.faq-intro>p{color:var(--muted);font-size:17px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px 32px;overflow:hidden;transition:.25s}.step-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(200,155,74,.45)}.step-number{position:absolute;right:20px;top:8px;font-family:"Cormorant Garamond",serif;font-size:72px;font-weight:700;color:#f1e8df}.step-icon,.demo-icon{width:65px;height:65px;border-radius:20px;display:grid;place-items:center;background:var(--sage-light);margin-bottom:25px}.step-icon svg,.demo-icon svg{width:34px;fill:none;stroke:var(--sage-dark);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.step-card h3,.benefit-item h3,.demo-card h3,.price-card h3{font-family:"Cormorant Garamond",serif;font-size:27px;margin:0 0 10px}.step-card p,.benefit-item p,.demo-card p{color:var(--muted);margin:0}
.benefits-section{background:linear-gradient(135deg,#fff8f5,#f7f9f4)}.benefits-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:start}.benefits-intro{position:sticky;top:130px}.text-link{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--rose-dark);font-weight:700}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(5px)}.benefit-list{border-top:1px solid var(--line)}.benefit-item{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.benefit-item>span{font-family:"Cormorant Garamond",serif;font-size:27px;color:var(--gold)}.benefit-item h3{font-size:26px;margin-bottom:5px}
.slideshow-section{background:var(--sage-dark);color:#fff}.slideshow-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}.preview-frame{background:#101511;border:8px solid #202a22;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.28)}.preview-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 13px;background:#222c25}.preview-bar span{width:7px;height:7px;border-radius:50%;background:#8c988f}.preview-bar em{font-style:normal;font-size:9px;color:#c8d0ca;margin-left:auto}.preview-frame>img{width:100%;height:390px;object-fit:cover}.preview-caption{position:absolute;left:30px;right:30px;bottom:26px;font-family:"Cormorant Garamond",serif;font-size:29px;text-shadow:0 3px 8px #000}.preview-caption small{display:block;font:500 11px Inter,sans-serif;margin-top:3px}.preview-controls{display:flex;justify-content:center;gap:8px;margin-top:18px}.preview-controls span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25)}.preview-controls span.active{width:28px;border-radius:8px;background:var(--gold)}.slideshow-copy p{color:#d8dfd9}.kicker.light{color:#f2d8b1}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:7px 0 7px 28px;position:relative;color:#ecf1ed}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:bold}
.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.demo-card{position:relative;background:#fff;border:1px solid var(--line);padding:35px;border-radius:var(--radius);display:flex;flex-direction:column}.demo-card p{margin-bottom:28px}.demo-card .text-link,.demo-card .button{margin-top:auto;align-self:flex-start}.demo-card.featured{background:linear-gradient(150deg,#fff,#f7eee8);border-color:rgba(182,93,107,.4);box-shadow:var(--shadow);transform:translateY(-9px)}.demo-label{position:absolute;top:18px;right:18px;background:var(--rose-soft);color:var(--rose-dark);font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:7px 10px;border-radius:999px}.demo-icon.pink{background:var(--rose-soft)}.demo-icon.pink svg{stroke:var(--rose-dark)}.demo-icon.green{background:var(--sage-light)}.demo-icon.gold{background:#fbefd9}.demo-icon.gold svg{stroke:#987028}
.flyers-section{overflow:hidden}.flyers-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:center}.format-pills{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.format-pills span{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--sage-dark)}.flyer-stack{height:570px;position:relative}.flyer-card{position:absolute;width:310px;aspect-ratio:148/210;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 25px 55px rgba(50,43,36,.2);border:7px solid #fff;transition:.25s}.flyer-card:hover{z-index:5;transform:translateY(-8px) rotate(0)}.flyer-card img{width:100%;height:100%;object-fit:cover}.flyer-one{left:0;top:20px;transform:rotate(-8deg)}.flyer-two{left:220px;top:0;z-index:2;transform:rotate(2deg)}.flyer-three{right:0;top:70px;transform:rotate(9deg)}
.security-section{background:linear-gradient(135deg,#f7e4e5,#fff8f3)}.security-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.security-visual{height:420px;position:relative;display:grid;place-items:center}.shield{width:210px;height:235px;border-radius:45% 45% 50% 50%;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow);border:1px solid rgba(200,155,74,.35)}.shield svg{width:120px;fill:none;stroke:var(--sage-dark);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.security-chip{position:absolute;background:#fff;padding:12px 17px;border-radius:999px;box-shadow:0 12px 30px rgba(61,51,45,.12);font-size:12px;font-weight:700}.chip-a{left:3%;top:18%}.chip-b{right:0;top:31%}.chip-c{left:10%;bottom:12%}.security-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.security-list span{background:rgba(255,255,255,.65);border:1px solid rgba(200,155,74,.23);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600}.security-list span:before{content:"✓";color:var(--gold);margin-right:8px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}.price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:35px;display:flex;flex-direction:column}.price-card.popular{border:2px solid var(--rose);box-shadow:var(--shadow);transform:translateY(-12px)}.popular-ribbon{position:absolute;right:20px;top:-14px;background:var(--rose);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:7px 13px;border-radius:999px}.price-head span{font-family:"Cormorant Garamond",serif;font-size:28px;font-weight:700}.price-head strong{display:block;font-family:"Cormorant Garamond",serif;font-size:48px;line-height:1;margin:12px 0 3px}.price-head small{color:var(--muted)}.price-card ul{list-style:none;padding:22px 0;margin:20px 0;border-top:1px solid var(--line);flex:1}.price-card li{padding:7px 0 7px 24px;position:relative;color:var(--muted);font-size:14px}.price-card li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}.price-note{text-align:center;color:var(--muted);font-size:12px;margin-top:24px}
.register-section{background:var(--rose-dark);color:#fff;overflow:hidden}.register-section:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-120px;top:-100px}.register-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.register-copy>p{color:#f0d9dd}.sample-url{display:flex;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:14px 17px;border-radius:13px;font-size:17px;margin:25px 0}.sample-url span{color:#e9c6cb}.sample-url strong{color:#fff}.register-points{list-style:none;padding:0}.register-points li{padding:5px 0}.register-points li:before{content:"✓";color:#f1d2a0;margin-right:9px}.register-form{position:relative;z-index:2;background:#fff;color:var(--ink);border-radius:30px;padding:38px;box-shadow:0 35px 70px rgba(56,23,30,.25)}.register-form label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}.register-form input,.register-form select{display:block;width:100%;margin-top:7px;border:1px solid #dfd7d2;border-radius:11px;background:#fffdfb;padding:13px 14px;color:var(--ink);outline:none}.register-form input:focus,.register-form select:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(182,93,107,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.slug-field{display:flex;align-items:center;border:1px solid #dfd7d2;border-radius:11px;background:#fffdfb;overflow:hidden;margin-top:7px}.slug-field span{padding-left:14px;color:var(--muted);font-weight:500}.slug-field input{border:0;margin:0;padding-left:3px}.checkbox{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;color:var(--muted);line-height:1.4}.checkbox input{width:auto!important;margin:3px 0 0!important}.form-status{min-height:24px;margin:12px 0 0;font-size:13px;font-weight:700}.form-status.success{color:#2a7e48}.form-status.error{color:#b53b46}.form-note{display:block;color:#888;font-size:10px;line-height:1.4}.honeypot{position:absolute;left:-9999px}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.faq-intro{position:sticky;top:130px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:700;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--rose);font-family:Inter,sans-serif;font-size:22px;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{margin:-5px 45px 24px 0;color:var(--muted)}
.final-cta{padding:70px 0;background:var(--sage-dark);color:#fff}.final-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.final-cta h2{font-size:45px;margin-bottom:0;max-width:760px}.site-footer{background:#1f2c23;color:#dbe2dc;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:50px}.site-footer .brand strong{color:#fff}.site-footer .brand small{color:#b5c2b7}.footer-brand p{color:#aeb9b0;max-width:380px;font-size:13px}.site-footer h3{font-family:"Cormorant Garamond",serif;color:#fff;font-size:20px;margin:7px 0 16px}.site-footer a:not(.brand){display:block;color:#aeb9b0;font-size:13px;margin:9px 0}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;margin-top:50px;padding-top:22px;color:#849187;font-size:11px}
.modal{position:fixed;inset:0;z-index:500;background:#000;display:none;align-items:center;justify-content:center}.modal.open{display:flex}.modal img{max-width:100vw;max-height:100vh;width:100%;height:100%;object-fit:contain}.modal-close{position:fixed;right:20px;top:16px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:30px}.modal-caption{position:fixed;left:50%;bottom:22px;translate:-50% 0;max-width:min(850px,85vw);color:#fff;font-family:"Cormorant Garamond",serif;font-size:clamp(24px,3vw,42px);text-align:center;text-shadow:0 2px 8px #000}.modal-caption small{display:block;font:500 12px Inter,sans-serif}.modal-counter{position:fixed;left:20px;top:20px;color:#fff;background:rgba(0,0,0,.5);border-radius:99px;padding:8px 12px;font-size:11px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
@media(max-width:1050px){.main-nav{position:fixed;left:20px;right:20px;top:75px;background:#fff;padding:24px;border-radius:20px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}.hero-grid,.benefits-grid,.slideshow-grid,.flyers-grid,.security-grid,.register-grid,.faq-grid{grid-template-columns:1fr}.hero{padding-top:55px}.hero-visual{max-width:650px;width:100%;margin:auto}.benefits-intro,.faq-intro{position:static}.slideshow-grid,.security-grid{gap:50px}.flyers-grid{gap:35px}.flyer-stack{max-width:720px;width:100%;margin:auto}.register-grid{gap:35px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}}
@media(max-width:760px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:78px 0}.nav-wrap{height:72px}.brand strong{font-size:24px}.brand small{font-size:8px}.brand-mark{width:42px;height:42px}.hero h1{font-size:46px}.hero-grid{gap:25px}.hero-visual{height:450px}.screen-card{width:92%;top:50px}.screen-card>img{height:280px}.phone-card{width:165px;bottom:0}.live-badge{right:5px;bottom:30px}.hero-points{gap:10px 17px}.trust-items{justify-content:flex-start;animation:marquee 18s linear infinite}.steps-grid,.demo-grid,.pricing-grid{grid-template-columns:1fr}.demo-card.featured,.price-card.popular{transform:none}.flyer-stack{height:450px;transform:scale(.8);transform-origin:left top;width:125%}.security-visual{height:340px}.security-list{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.register-form{padding:25px 20px}.slug-field{display:block;padding-top:8px}.slug-field span{font-size:11px}.slug-field input{padding-left:14px}.faq-list summary{font-size:21px}.final-inner{display:block}.final-cta h2{font-size:36px;margin-bottom:25px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:block}.modal-caption{bottom:30px}.section-heading{margin-bottom:40px}@keyframes marquee{to{transform:translateX(-55%)}}}
@media(max-width:480px){.hero h1{font-size:40px}.hero-actions{display:grid}.button{width:100%}.screen-card{width:100%;right:-10px}.screen-card>img{height:240px}.phone-card{left:-5px}.live-badge{font-size:9px}.steps-grid{gap:16px}.flyer-stack{height:360px;transform:scale(.62);width:160%}.price-card{padding:27px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.modal-caption{font-size:24px}.main-nav{left:12px;right:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Aktualizacja 1.1: czytelniejszy slogan, bezpłatny plan i podstrony */
.hero h1 .hero-subtitle{display:block;max-width:780px;margin-top:12px;font-family:Inter,Arial,sans-serif;font-style:normal!important;font-weight:700;color:var(--rose-dark);font-size:.42em;line-height:1.2;letter-spacing:0}
.pricing-grid-free{grid-template-columns:minmax(280px,.75fr) minmax(340px,1.25fr);max-width:900px;margin-inline:auto}.register-form label small{display:block;color:#888;font-weight:500;line-height:1.4;margin-top:5px}.register-form .checkbox a{text-decoration:underline;color:var(--rose-dark)}

.subpage-body{background:linear-gradient(180deg,#fffaf5,#fffdf9);min-height:100vh}.subpage-main{padding:75px 0 110px}.subpage-hero{text-align:center;max-width:850px;margin:0 auto 55px}.subpage-hero h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,6vw,74px);line-height:1.02;margin:15px 0;color:var(--ink)}.subpage-hero p{font-size:17px;color:var(--muted);max-width:700px;margin:0 auto}.subpage-header{position:sticky;top:0;z-index:100;background:rgba(255,250,245,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(200,155,74,.15)}.subpage-header .nav-wrap{height:78px}.subpage-nav{display:flex;align-items:center;gap:15px}.subpage-nav a:not(.button){font-size:13px;font-weight:700;color:var(--sage-dark)}
.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 55px rgba(59,49,39,.08);padding:clamp(25px,5vw,60px);max-width:940px;margin:0 auto}.content-card h2{font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;line-height:1.1;margin:40px 0 12px}.content-card h2:first-child{margin-top:0}.content-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:25px;margin:28px 0 8px}.content-card p,.content-card li{color:#525c55}.content-card ul,.content-card ol{padding-left:22px}.content-card a{text-decoration:underline;color:var(--rose-dark)}.legal-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.legal-meta span{background:var(--sage-light);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;color:var(--sage-dark)}.legal-notice{background:#fff5e6;border:1px solid #ecd6ae;border-radius:14px;padding:16px 18px;margin:20px 0;color:#67553b}.company-box{background:var(--sage-light);border-radius:18px;padding:22px;margin:25px 0}.company-box strong{display:block;font-family:"Cormorant Garamond",serif;font-size:27px;color:var(--sage-dark)}

.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px;align-items:start}.contact-details,.contact-form-card,.auth-card,.panel-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 20px 55px rgba(59,49,39,.08)}.contact-details{position:sticky;top:110px}.contact-details h2,.contact-form-card h2,.auth-card h1,.panel-card h2{font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:700;line-height:1.25;margin:0 0 15px}.contact-details address{font-style:normal;color:var(--muted);line-height:1.8}.contact-email{display:inline-flex;margin-top:20px;font-weight:700;color:var(--rose-dark)}.standard-form label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}.standard-form input,.standard-form textarea,.standard-form select{display:block;width:100%;margin-top:7px;border:1px solid #dfd7d2;border-radius:11px;background:#fffdfb;padding:13px 14px;color:var(--ink);outline:none}.standard-form textarea{min-height:160px;resize:vertical}
/* Tekst powitalny i ogłoszenie o konkursie – niskie pola, reszta bez zmian */
.standard-form textarea[name="greeting"],.standard-form textarea[name="contest_text"]{min-height:48px;height:48px}.standard-form input:focus,.standard-form textarea:focus,.standard-form select:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(182,93,107,.12)}.standard-form .checkbox{font-size:12px}.standard-form .checkbox a{text-decoration:underline;color:var(--rose-dark)}

.auth-wrap{max-width:520px;margin:0 auto}.auth-card h1{text-align:center;font-size:48px}.auth-card>p{text-align:center;color:var(--muted);margin-bottom:28px}.auth-links{display:flex;justify-content:space-between;gap:15px;margin-top:18px;font-size:13px}.auth-links a{color:var(--rose-dark);font-weight:700}.alert{padding:13px 15px;border-radius:12px;margin:0 0 18px;font-size:13px;font-weight:600}.alert-error{background:#fdebed;color:#9d3644;border:1px solid #f1c4ca}.alert-success{background:#eaf7ee;color:#286a3d;border:1px solid #c4e5ce}

.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel-card-wide{grid-column:1/-1}.panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:35px}.status-pill{display:inline-flex;align-items:center;gap:7px;background:#e8f5eb;color:#276a3d;padding:8px 13px;border-radius:999px;font-size:12px;font-weight:800}.status-pill:before{content:"";width:8px;height:8px;background:#45a765;border-radius:50%}.data-list{display:grid;grid-template-columns:160px 1fr;gap:11px 18px;margin:0}.data-list dt{color:var(--muted);font-size:13px}.data-list dd{margin:0;font-weight:700}.panel-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.free-banner{background:linear-gradient(135deg,var(--rose-dark),var(--rose));color:#fff;border-radius:22px;padding:26px}.free-banner h2{color:#fff;margin:0 0 8px}.free-banner p{color:#f5dfe2;margin:0}.coming-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.coming-list span{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:13px;font-size:13px;font-weight:700}

.simple-footer{background:#1f2c23;color:#aeb9b0;padding:28px 0}.simple-footer-row{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.simple-footer-links{display:flex;gap:16px;flex-wrap:wrap}.simple-footer a:hover{color:#fff}

@media(max-width:900px){.contact-grid,.panel-grid{grid-template-columns:1fr}.contact-details{position:static}.panel-card-wide{grid-column:auto}.coming-list{grid-template-columns:1fr 1fr}.pricing-grid-free{grid-template-columns:1fr}.subpage-nav a:not(.button){display:none}}
@media(max-width:600px){.subpage-main{padding:48px 0 75px}.content-card,.contact-details,.contact-form-card,.auth-card,.panel-card{padding:23px 18px}.panel-top,.simple-footer-row{display:block}.panel-top .button{margin-top:15px}.data-list{grid-template-columns:1fr;gap:2px}.data-list dd{margin-bottom:12px}.coming-list{grid-template-columns:1fr}.auth-links{display:block;text-align:center}.auth-links a{display:block;margin-top:12px}}

/* Pełny system galerii i paneli */
.panel-title{font-family:"Cormorant Garamond",serif;font-size:clamp(44px,6vw,70px);line-height:1;margin:12px 0 8px}.panel-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 25px}.panel-tabs a{padding:11px 15px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.stats-grid>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column}.stats-grid strong{font-family:"Cormorant Garamond",serif;font-size:38px;color:var(--rose-dark)}.stats-grid span{font-size:12px;color:var(--muted)}.copy-value{word-break:break-all;background:var(--paper);padding:12px;border-radius:10px}.panel-qr{width:260px;max-width:100%;margin:12px auto}.panel-qr canvas{width:100%;height:auto}.settings-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.settings-checks label{margin:0;background:var(--paper);padding:12px;padding-left:12px;border-radius:10px}.form-row.three{grid-template-columns:repeat(3,1fr)}.account-password{margin-top:25px;max-width:500px}.manager-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.manager-photo{display:grid;grid-template-columns:150px 1fr;gap:15px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:16px}.manager-photo img{width:150px;height:150px;object-fit:cover;border-radius:11px}.manager-photo small{display:block;color:var(--muted);margin:3px 0}.manager-photo p{font-size:13px}.manager-photo form{display:flex;gap:8px}.manager-photo button,.admin-table button{border:0;border-radius:8px;padding:7px 9px;cursor:pointer;font-weight:700}.manager-photo button:first-of-type{background:#dff2e4;color:#276a3d}.manager-photo button:last-of-type,.admin-table .danger{background:#fdebed;color:#9d3644}
.gallery-shell{padding:22px 0 100px;min-height:75vh;background:linear-gradient(180deg,#fffaf5,#fff)}.gallery-shell.theme-sage{background:linear-gradient(180deg,#eef5ed,#fff)}
.gallery-shell.theme-blush{background:linear-gradient(180deg,#fbe4ec 0%,#fdeff4 58%,#fff 100%)}.gallery-shell.theme-gold{background:linear-gradient(180deg,#fff7e6,#fff)}.gallery-shell.theme-pink{background:linear-gradient(180deg,#ffc1dc 0%,#ffe0ed 58%,#fff 100%)}.gallery-shell.theme-blue{background:linear-gradient(180deg,#b9e0ff 0%,#dcefff 58%,#fff 100%)}.gallery-event-head{text-align:center;max-width:820px;margin:0 auto 16px}.gallery-event-head h1,.upload-page-head h1{font-family:"Cormorant Garamond",serif;font-size:clamp(50px,8vw,86px);line-height:.95;margin:14px 0;color:var(--ink)}
.gallery-event-name{color:var(--rose-dark)!important}.upload-page-head p{font-size:17px;color:var(--muted)}
.gallery-event-head p{font-size:14px;line-height:1.3;color:var(--muted)}.gallery-event-name{font-family:"Mea Culpa",cursive!important;font-weight:400!important;letter-spacing:0!important;line-height:1.08!important}.gallery-primary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0}.gallery-counter{font-size:12px;color:var(--rose-dark);font-weight:800}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.gallery-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.gallery-toolbar a{font-size:11px;font-weight:800;padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line)}.gallery-toolbar a.active{background:var(--sage-dark);color:#fff}.public-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.public-photo-card{position:relative;aspect-ratio:3/4;border-radius:15px;overflow:hidden;background:rgba(0,0,0,.04)}.public-photo-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}.public-photo-card:hover img{transform:scale(1.035)}.photo-like-badge{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:3px;background:rgba(255,255,255,.92);padding:3px 7px 3px 5px;border-radius:999px;color:var(--rose-dark);font-size:13px;font-weight:800;line-height:1}
.photo-like-badge-heart{width:17px;height:17px;fill:#d01855;flex:none}.gallery-empty{text-align:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:55px}.gallery-empty-icon{font-size:45px}.gallery-empty h2{font-family:"Cormorant Garamond",serif;font-size:36px}.gallery-access-card h1{font-size:42px!important}
.upload-page-wrap{max-width:900px}.upload-page-wrap.theme-blush,.upload-page-wrap.theme-sage,.upload-page-wrap.theme-gold,.upload-page-wrap.theme-pink,.upload-page-wrap.theme-blue{padding:24px 20px 34px;border-radius:28px;margin:18px auto 46px}.upload-page-wrap.theme-blush{background:linear-gradient(180deg,#fff7fa,#fff)}.upload-page-wrap.theme-sage{background:linear-gradient(180deg,#f1f8ef,#fff)}.upload-page-wrap.theme-gold{background:linear-gradient(180deg,#fff8ea,#fff)}.upload-page-wrap.theme-pink{background:linear-gradient(180deg,#ffbdd9 0%,#ffe2ee 68%,#fff 100%)}.upload-page-wrap.theme-blue{background:linear-gradient(180deg,#afd9fb 0%,#dcefff 68%,#fff 100%)}.upload-page-head{text-align:center;margin-bottom:28px}.upload-page-head .text-link{display:block;text-align:left}.upload-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px dashed #d6b7bd;background:#fff9fa;border-radius:18px;padding:35px;cursor:pointer}.upload-drop strong{font-size:21px;color:var(--rose-dark)}.upload-drop span{font-size:12px;color:var(--muted);margin-top:6px}.selected-upload-list{display:grid;gap:12px;margin:18px 0}.selected-upload-item{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--line);border-radius:13px}.selected-upload-item img{width:100%;height:auto;max-height:220px;object-fit:cover;border-radius:9px}.selected-upload-item small{display:block;color:var(--muted);margin:3px 0 8px}.selected-upload-item textarea{width:100%;min-height:65px;border:1px solid #ddd;border-radius:9px;padding:9px}.upload-author{display:block;font-size:12px;font-weight:800}.upload-author input{display:block;width:100%;padding:13px;margin:6px 0 18px;border:1px solid #ddd;border-radius:10px}.upload-progress>div{height:8px;background:#eee;border-radius:99px;overflow:hidden;margin:7px 0 15px}.upload-progress i{display:block;height:100%;width:0;background:var(--rose)}
.photo-view-wrap{max-width:1050px}.photo-view-nav,.photo-pager{display:flex;justify-content:space-between;gap:15px;margin-bottom:16px}.photo-view-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.photo-view-stage{background:#111;display:flex;justify-content:center;max-height:72vh}.photo-view-stage img{max-width:100%;max-height:72vh;object-fit:contain}.photo-view-info{padding:24px}.photo-comment-main{font-family:"Cormorant Garamond",serif;font-size:30px;margin:0 0 14px}.photo-meta-line{font-size:13px;color:var(--muted);margin:5px 0}.photo-like-button{margin-top:13px;border:1px solid #eccbd1;background:#fff;border-radius:999px;padding:9px 14px;color:#aaa;cursor:pointer}.photo-like-button.liked{background:#fdebed;color:var(--rose-dark)}.photo-pager{margin-top:16px}
.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}.admin-table{width:100%;border-collapse:collapse;min-width:900px}.admin-table th,.admin-table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:12px}.admin-table td small{display:block;color:var(--muted)}.admin-table td>a{color:var(--rose-dark);font-weight:700;margin-right:9px}.admin-table form{display:inline-flex;gap:5px}
@media(max-width:900px){.public-photo-grid{grid-template-columns:repeat(3,1fr)}.manager-photo-grid{grid-template-columns:1fr}.form-row.three{grid-template-columns:1fr}.admin-table-wrap{margin-inline:-5px}}@media(max-width:650px){.stats-grid{grid-template-columns:1fr 1fr}.public-photo-grid{grid-template-columns:repeat(2,1fr)}.gallery-toolbar{display:block}.gallery-toolbar>div{margin-top:10px}.settings-checks{grid-template-columns:1fr}.manager-photo{grid-template-columns:100px 1fr}.manager-photo img{width:100px;height:100px}.upload-card{padding:18px}.selected-upload-item img{max-height:180px}.photo-view-info{padding:18px}}@media(max-width:430px){.stats-grid{grid-template-columns:1fr}.public-photo-grid{gap:7px}.gallery-primary-actions{display:grid}.gallery-primary-actions .button{width:100%}}

.guest-main{padding-top:0}.guest-main .gallery-shell{min-height:100vh}

/* Widok pojedynczego zdjęcia */
.photo-detail-page{
  min-height:100vh;
  padding:14px 0 36px;
  background:linear-gradient(145deg,#f7c8dc 0%,#eca9ca 48%,#e89bc1 100%);
}
.photo-detail-page.theme-sage{background:linear-gradient(145deg,#dfeee0 0%,#cde2cf 48%,#c3dbc5 100%);}
.photo-detail-page.theme-blush{background:linear-gradient(145deg,#fbe0eb 0%,#f5cadd 48%,#efb9d0 100%);}
.photo-detail-page.theme-gold{background:linear-gradient(145deg,#f6ead0 0%,#edd8a9 48%,#e3c98e 100%);}
.photo-detail-page.theme-pink{background:linear-gradient(145deg,#ffbfdb 0%,#f59fc6 48%,#eb83b5 100%);}
.photo-detail-page.theme-blue{background:linear-gradient(145deg,#b8e0ff 0%,#8fcaf5 48%,#70b7ea 100%);}
.photo-detail-container{
  width:min(calc(100% - 34px),760px);
  margin:0 auto;
}
.photo-back-link{
  display:flex;
  width:max-content;
  max-width:100%;
  margin:0 auto 24px;
  padding:3px 8px;
  color:#4e0828;
  font-size:18px;
  font-weight:800;
  text-align:center;
}
.photo-back-link:hover{color:#8c1748}
.photo-view-stage{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:220px;
  background:transparent;
  overflow:hidden;
  /* Powiększanie obsługujemy sami (działa też na pełnym ekranie), więc nie
     pozwalamy przeglądarce skalować strony - inaczej skalowałoby się podwójnie. */
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
.photo-view-stage img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
  background:transparent;
  user-select:none;
  -webkit-user-drag:none;
}
.photo-arrow{
  position:absolute;
  top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:29px;
  height:36px;
  margin-top:-18px;
  border-radius:0 10px 10px 0;
  background:rgba(55,7,31,.42);
  color:rgba(255,255,255,.9);
  font-family:Arial,sans-serif;
  font-size:28px;
  font-weight:300;
  line-height:1;
  text-decoration:none;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  transition:background .2s,transform .2s,opacity .2s;
}
.photo-arrow::before{
  content:"";
  position:absolute;
  inset:-9px;
}
.photo-arrow[hidden]{display:none!important}
.photo-arrow:hover{background:rgba(85,8,44,.62);color:#fff}
.photo-arrow:active{transform:scale(.94)}
.photo-arrow-previous{left:0}
.photo-arrow-next{right:0;border-radius:10px 0 0 10px}
.photo-gesture-hint{
  margin:12px 6px 18px;
  color:#9f5878;
  font-size:15px;
  line-height:1.35;
  text-align:center;
}
.photo-info-card{
  margin-top:0;
  padding:25px 23px 24px;
  border-radius:22px;
  background:rgba(255,255,255,.88);
  box-shadow:0 5px 18px rgba(113,25,67,.08);
}
.photo-comment-main{
  margin:0 0 12px;
  color:#560020;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:29px;
  font-weight:700;
  line-height:1.1;
}
.photo-meta-line{
  margin:6px 0;
  color:#a75b78;
  font-size:15px;
  line-height:1.35;
}
.photo-action-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:20px;
}
.photo-action-row-single{grid-template-columns:1fr}
.photo-action-button{
  min-height:64px;
  border-radius:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:13px 18px;
  font-family:Inter,Arial,sans-serif;
  font-size:19px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:transform .15s,box-shadow .15s,background .15s,color .15s;
}
.photo-action-button:active{transform:translateY(1px)}
.photo-like-button{
  margin:0;
  border:2px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.88);
  color:#7b1038;
  border-radius:17px;
}
.photo-like-button:hover{background:#fff}
.photo-like-button.liked{
  border-color:#fff;
  background:#fff;
  color:#d01855;
}
.photo-like-button:disabled{opacity:.65;cursor:wait}
.photo-action-icon{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 auto;
}
.photo-like-button .heart-icon{color:#d01855}
.photo-like-button.liked .heart-icon{fill:#d01855}
.photo-like-count{
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 6px;
  border-radius:999px;
  background:#f8d6e4;
  color:#8a1743;
  font-size:11px;
}
.photo-download-button{
  border:2px solid #7c1038;
  background:linear-gradient(135deg,#8f1747,#630927);
  color:#fff;
  box-shadow:0 10px 24px rgba(98,9,39,.16);
}
.photo-download-button:hover{color:#fff;background:linear-gradient(135deg,#a01d51,#710b2e)}
.download-icon-wrap{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#f1ba76;
  color:#6c0b2d;
}
.download-icon-wrap .photo-action-icon{width:19px;height:19px;stroke-width:2.5}
.photo-view-stage:fullscreen,
.photo-view-stage:-webkit-full-screen,
.photo-view-stage.photo-fullscreen-fallback{
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  background:#000;
}
.photo-view-stage:fullscreen img,
.photo-view-stage:-webkit-full-screen img,
.photo-view-stage.photo-fullscreen-fallback img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  background:#000;
}
.photo-view-stage.photo-fullscreen-fallback{
  position:fixed;
  inset:0;
  z-index:99999;
}
body.photo-fullscreen-open{overflow:hidden}

@media(max-width:600px){
  .photo-detail-page{padding-top:12px}
  .photo-detail-container{width:min(calc(100% - 34px),760px)}
  .photo-back-link{margin-bottom:22px;font-size:17px}
  .photo-arrow{width:26px;height:34px;margin-top:-17px;font-size:25px}
  .photo-gesture-hint{font-size:14px;margin:11px 8px 18px}
  .photo-info-card{padding:23px 22px;border-radius:21px}
  .photo-comment-main{font-size:27px}
  .photo-meta-line{font-size:15px}
  .photo-action-row{gap:13px;margin-top:20px}
  .photo-action-button{min-height:63px;padding:12px 14px;font-size:18px;border-radius:17px}
}
@media(max-width:390px){
  .photo-detail-container{width:min(calc(100% - 22px),760px)}
  .photo-action-row{gap:9px}
  .photo-action-button{font-size:16px;gap:8px;padding-inline:10px}
  .photo-action-icon{width:25px;height:25px}
}

.gallery-shell.theme-pink .kicker,.upload-page-wrap.theme-pink .kicker{color:#b91964}.gallery-shell.theme-blue .kicker,.upload-page-wrap.theme-blue .kicker{color:#176faa}
.gallery-shell.theme-pink .gallery-counter{color:#a91457}.gallery-shell.theme-blue .gallery-counter{color:#145f98}

/* Znacznik filmu na kafelku galerii */
.public-photo-card { position: relative; }
.public-photo-card .video-play-badge {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 54px; height: 54px; border-radius: 50%;
  background: rgba(0,0,0,0.55); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; padding-left: 4px; pointer-events: none;
}
.selected-upload-item video { border-radius: 8px; background: #000; }

/* Przycisk odtwarzania filmu w podglądzie (przesuwanie) */
#photo-view-stage { position: relative; }
.photo-video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  z-index: 5; width: 72px; height: 72px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(0,0,0,0.55); color: #fff; font-size: 28px; padding-left: 6px;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, transform 0.2s;
}
.photo-video-play[hidden] { display: none !important; }
.photo-video-play:hover { background: rgba(0,0,0,0.72); transform: translate(-50%, -50%) scale(1.05); }

/* Panel statystyk wejść */
.stats-grid-wide{grid-template-columns:repeat(4,1fr)}
.stats-h2{font-family:"Cormorant Garamond",serif;font-size:26px;margin:34px 0 6px;color:var(--rose-dark)}
.stats-note{color:var(--muted);font-size:13px;margin:0 0 14px}
.stats-chart{display:flex;align-items:flex-end;gap:4px;height:180px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 14px 8px;overflow-x:auto}
.stats-bar-wrap{flex:1;min-width:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.stats-bar{width:70%;min-height:2px;background:linear-gradient(180deg,var(--rose),var(--rose-dark));border-radius:6px 6px 0 0;display:flex;align-items:flex-start;justify-content:center;position:relative;transition:height .3s}
.stats-bar span{font-size:9px;color:var(--rose-dark);font-weight:800;margin-top:-15px}
.stats-bar-wrap small{font-size:9px;color:var(--muted);margin-top:5px;white-space:nowrap;transform:rotate(-45deg);transform-origin:center;height:14px}
.stats-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:10px}
.stats-columns .admin-table{min-width:0}
.stats-columns .stats-col{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}
.stats-columns .admin-table th,.stats-columns .admin-table td{padding:11px 13px}
section.container>.admin-table{background:#fff;border:1px solid var(--line);border-radius:18px;display:table;min-width:0;width:100%}
section.container>.admin-table td a{word-break:break-all}
@media(max-width:750px){.stats-grid-wide{grid-template-columns:1fr 1fr}.stats-columns{grid-template-columns:1fr}}

/* Ikony w kółku na przyciskach (aparat, play, koperta) */
.button-icon{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.button-icon svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.button-ghost .button-icon{background:rgba(145,67,81,.14)}
.button-ghost .button-icon svg{stroke:var(--rose-dark)}
.play-icon-fill svg,.button .button-icon svg path[d^="M9 7.5"]{fill:#fff;stroke:#fff}
.button-ghost .button-icon svg path[d^="M9 7.5"]{fill:var(--rose-dark);stroke:var(--rose-dark)}
.button-icon.is-play svg{fill:#fff;stroke:#fff}
.button-ghost .button-icon.is-play svg{fill:var(--rose-dark);stroke:var(--rose-dark)}
/* Pole wyboru zdjęć/filmów jako pełny przycisk (jak na wzorcu) */
.upload-drop-button{flex-direction:row;gap:14px;text-align:left;border:1px solid #7c1038;background:linear-gradient(135deg,#8f1747,#630927);color:#fff;border-radius:17px;padding:18px 24px;box-shadow:0 12px 28px rgba(98,9,39,.18);transition:transform .2s,box-shadow .2s}
.upload-drop-button:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(145,67,81,.28)}
.upload-drop-button .button-icon{width:44px;height:44px}
.upload-drop-button .button-icon svg{width:24px;height:24px}
.upload-drop-text{display:flex;flex-direction:column;gap:3px}
.upload-drop-text strong{font-size:17px;font-weight:700;color:#fff}
.upload-drop-text span{font-size:12px;color:rgba(255,255,255,.82);font-weight:500;margin-top:0}

/* Przycisk Wyślij – ikona i tekst wyśrodkowane (nie rozpychane) */
.upload-submit-btn{justify-content:center;gap:12px}

/* Strona dodawania – mniejsze czcionki (czytelniej na telefonie) */
.upload-page-head h1{font-size:clamp(30px,5vw,44px);margin:8px 0}
.upload-page-head p{font-size:14px}
.upload-page-head .kicker{font-size:11px}
.upload-drop-button .upload-drop-text strong{font-size:15px}
.upload-author{font-size:13px}

/* Przyciski galerii jak w projekcie „Oliwia i Michał" – złote kółka ikon, tekst wyśrodkowany */
.gallery-primary-actions .button{position:relative;justify-content:flex-start;text-align:left;padding-left:64px}
.gallery-primary-actions .button-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;background:linear-gradient(145deg,#e6c169,#c89b4a);box-shadow:0 3px 8px rgba(98,9,39,.25)}
.gallery-primary-actions .button-icon svg{width:20px;height:20px;stroke:#5a2030}
.gallery-primary-actions .button-icon.is-play svg{fill:#5a2030;stroke:#5a2030}

/* Przyciski uploadu: stała szerokość, wyśrodkowane (nie na całą szerokość) */
.upload-drop-button{max-width:360px;width:100%;margin:0 auto;justify-content:center}
.upload-submit-btn.button-full{max-width:360px;width:100%;margin:0 auto;justify-content:center}

/* Wyśrodkowanie przycisku Wyślij – nadpisuje justify z button-full */
.upload-submit-btn#upload-submit{justify-content:center!important;gap:12px}

/* Dział: Prezentacja zdjęć podczas imprezy */
.event-photos-section{background:var(--sage-dark);color:#fff}
.event-photos-section .kicker.light{color:#f2d8b1}
.event-photos-section h2{color:#fff}
.event-photos-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:34px auto 0}
.event-photos-grid img{width:100%;height:auto;aspect-ratio:690/1220;object-fit:cover;border-radius:18px;box-shadow:0 18px 40px rgba(0,0,0,.28);display:block}
@media(max-width:600px){.event-photos-grid{gap:14px}}

/* Wideo w siatce galerii — pierwsza klatka jako miniatura (jak obrazek) */
.public-photo-card .public-photo-video{width:100%;height:100%;object-fit:cover;transition:transform .25s;display:block;background:#000}
.public-photo-card:hover .public-photo-video{transform:scale(1.035)}

/* Faza przetwarzania po 100% wysyłki – animowany pasek + czytelny komunikat */
.upload-progress.is-processing i{width:100%!important;background:linear-gradient(90deg,var(--rose),#e6c169,var(--rose));background-size:200% 100%;animation:proc-slide 1.2s linear infinite}
@keyframes proc-slide{0%{background-position:200% 0}100%{background-position:-200% 0}}
#upload-progress-label small{display:block;margin-top:5px;font-size:12px;color:var(--muted);font-weight:400;line-height:1.35}
.upload-progress.is-processing #upload-progress-label,#upload-progress-label .proc-main{font-weight:700;color:var(--rose-dark)}

/* Przycisk Wyślij: pewne wyśrodkowanie niezależnie od układu formularza */
.upload-submit-btn#upload-submit{display:flex;margin-left:auto;margin-right:auto}

/* Odtwarzacz filmu w podglądzie — mieści się w kontenerze wraz z kontrolkami (fix przycinania filmów pionowych) */
.photo-view-stage video,
#photo-main-video{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
  background:#000;
}
.photo-view-stage:fullscreen video,
.photo-view-stage:-webkit-full-screen video,
.photo-view-stage.photo-fullscreen-fallback video{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
  background:#000;
}

/* Tabela ostatnich wejść — kolumna User-Agent może być długa, zawijamy ją */
.stats-ua-cell{max-width:340px;word-break:break-word;white-space:normal;font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}
.stats-recent-table td{vertical-align:top}

/* Miniatury w panelu organizatora — obsługa filmów (img lub video + badge play) */
.manager-photo-media{position:relative;width:150px;height:150px;border-radius:11px;overflow:hidden;background:#000}
.manager-photo-media img,.manager-photo-media video{width:100%;height:100%;object-fit:cover;display:block;border-radius:11px}
.manager-photo-media .video-play-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;padding-left:3px;pointer-events:none}
@media(max-width:650px){.manager-photo-media{width:100px;height:100px}}

/* Komentarze gości pod zdjęciem (widok galerii, NIE pokaz slajdów) */
.photo-comments{max-width:640px;margin:22px auto 0;padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}
.photo-comments-title{font-size:16px;font-weight:800;color:var(--rose-dark);margin:0 0 12px}
.photo-comments-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.photo-comments-empty{color:var(--muted);font-size:14px;margin:0;text-align:center;padding:8px 0}
.photo-comment-item{background:#fbf6f8;border-radius:11px;padding:10px 13px}
.photo-comment-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 4px}
.photo-comment-item-head strong{font-size:14px;color:var(--ink)}
.photo-comment-item-date{font-size:11px;color:var(--muted);white-space:nowrap}
.photo-comment-item-text{margin:0;font-size:14px;line-height:1.45;color:var(--ink);word-break:break-word}
.photo-comment-form{display:flex;flex-direction:column;gap:10px}
.photo-comment-form textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 13px;font:inherit;font-size:14px;resize:vertical;min-height:52px;box-sizing:border-box}
.photo-comment-row{display:flex;gap:10px;flex-wrap:wrap}
.photo-comment-row input{flex:1 1 160px;border:1px solid var(--line);border-radius:11px;padding:11px 13px;font:inherit;font-size:14px;box-sizing:border-box}
.photo-comment-submit{flex:none;white-space:nowrap}
.photo-comment-status{margin:2px 0 0;font-size:13px;font-weight:600}
.photo-comment-status.is-ok{color:#2e7d4f}
.photo-comment-status.is-error{color:#c0392b}
@media(max-width:520px){.photo-comment-submit{flex:1 1 100%}}

/* Badge polubień w prawym górnym rogu podglądu zdjęcia */
.photo-view-stage{position:relative}
.photo-view-like-badge{position:absolute;top:12px;right:12px;z-index:5;display:inline-flex;align-items:center;gap:3px;background:rgba(255,255,255,.92);padding:4px 9px 4px 6px;border-radius:999px;color:var(--rose-dark);font-size:14px;font-weight:800;line-height:1;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.photo-view-like-badge[hidden]{display:none!important}
.photo-view-like-badge .photo-like-badge-heart{width:18px;height:18px}

/* Podpowiedź pod nagłówkiem działu ustawień (adres pokazu) */
.form-hint{margin:-6px 0 14px;font-size:13px;color:var(--muted);line-height:1.5}

/* ---- Życzenia na ozdobnym tle ---- */
.wishes-wrap{padding:28px 0 60px}
.wishes-head{text-align:center;margin-bottom:26px}
.wishes-head h1{margin:0 0 8px}
.wishes-lead{margin:0;color:var(--muted)}
.wishes-empty{text-align:center;color:var(--muted);padding:30px 0}
.wishes-step-title{font-size:18px;margin:0 0 14px}
.wishes-templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:20px}
.wishes-template{padding:0;border:3px solid transparent;border-radius:12px;background:none;cursor:pointer;overflow:hidden;line-height:0;transition:border-color .15s,transform .15s}
.wishes-template img{width:100%;height:auto;display:block;border-radius:9px}
.wishes-template:hover{transform:translateY(-2px)}
.wishes-template.is-selected{border-color:var(--rose-dark)}
.wishes-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.wishes-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.wishes-preview{background:#f4efe9;border-radius:14px;padding:10px}
.wishes-preview canvas{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.12)}
.wishes-form label{display:block;font-weight:700;margin-bottom:6px}
.wishes-form textarea{width:100%;font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.5;padding:12px;border-radius:10px;border:1px solid var(--line);resize:vertical}
.wishes-counter{margin:6px 0 0;font-size:13px;color:var(--muted);text-align:right}
.wishes-status{margin:12px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.wishes-status.is-error{color:#b3123c}
.wishes-back-link{text-align:center;margin-top:26px}
@media (max-width:760px){
  .wishes-editor{grid-template-columns:1fr}
  .wishes-templates{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
}
.button[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}

/* ---- Księga gości: modułowa ozdobna rama, treść jako HTML ---- */
.gb-wrap{padding:24px 0 60px}
.gb-book{max-width:1200px;margin:0 auto;background:#fcf6eb;border-radius:6px;overflow:hidden;box-shadow:0 10px 40px rgba(90,60,30,.14)}
.gb-header img,.gb-footer img{display:block;width:100%;height:auto}
.gb-title{margin:0;padding:0 14px;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(19px,6vw,30px);letter-spacing:.1em;text-transform:uppercase;color:#7a5c22;line-height:1.2}
.gb-subtitle{margin:8px 0 0;padding:0 14px;font-size:clamp(9px,2.6vw,11px);letter-spacing:.12em;text-transform:uppercase;color:#a98b52;line-height:1.4}


/* Telefon: osobny obramowany blok tytułowy + obramowanie bloku wpisów */
.gb-titlecard{display:none;max-width:1200px;margin:0 auto 18px;background:#fcf6eb;border-radius:6px;overflow:hidden;box-shadow:0 10px 40px rgba(90,60,30,.14)}
.gb-frame-edge{display:block;line-height:0}
.gb-frame-edge img{display:block;width:100%;height:auto}
.gb-frame-top{display:none;line-height:0}
.gb-frame-top img{display:block;width:100%;height:auto}
.gb-titlecard-content{padding:6px 8px 10px}
/* Separator między wpisami – ozdobna linia z grafiki */
.gb-entry + .gb-entry{border-top:none;background:url('../img/guestbook/divider.png') top center/86% auto no-repeat;padding-top:34px}
@supports (background-image:image-set(url('a.webp') type('image/webp'))){
  .gb-entry + .gb-entry{background-image:image-set(url('../img/guestbook/divider.webp') type('image/webp'), url('../img/guestbook/divider.png') type('image/png'))}
}
/* Boki: wąskie ozdobne pasy powtarzane pionowo – księga może rosnąć bez końca */
.gb-body{display:grid;grid-template-columns:150px minmax(0,1fr) 150px;align-items:stretch}
.gb-side{background-repeat:repeat-y;background-position:top center;background-size:150px auto}
.gb-side-left{background-image:image-set(url('../img/guestbook/left-tile.webp') type('image/webp'), url('../img/guestbook/left-tile.jpg') type('image/jpeg'));background-image:url('../img/guestbook/left-tile.jpg')}
.gb-side-right{background-image:image-set(url('../img/guestbook/right-tile.webp') type('image/webp'), url('../img/guestbook/right-tile.jpg') type('image/jpeg'));background-image:url('../img/guestbook/right-tile.jpg')}
@supports (background-image:image-set(url('a.webp') type('image/webp'))){
  .gb-side-left{background-image:image-set(url('../img/guestbook/left-tile.webp') type('image/webp'), url('../img/guestbook/left-tile.jpg') type('image/jpeg'))}
  .gb-side-right{background-image:image-set(url('../img/guestbook/right-tile.webp') type('image/webp'), url('../img/guestbook/right-tile.jpg') type('image/jpeg'))}
}
.gb-content{padding:10px 26px 30px}

/* Wpisy */
.gb-entry{padding:22px 0;text-align:center}
.gb-entry-text{margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.6;color:#4a3a24}
.gb-entry-meta{margin:0;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:14px;color:#9c7c3e}
.gb-entry-sep{margin:0 8px;opacity:.6}
.gb-entry.is-new{animation:gbFadeIn .5s ease}
@keyframes gbFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.gb-empty{text-align:center;color:#9c7c3e;font-family:Georgia,'Times New Roman',serif;font-style:italic;padding:26px 0;line-height:1.6}

/* Formularz wpisu */
.gb-form{max-width:640px;margin:26px auto 0;padding:24px;background:#fffdf8;border:1px solid rgba(160,130,70,.3);border-radius:14px;box-shadow:0 4px 18px rgba(90,60,30,.08)}
.gb-form-title{margin:0 0 14px;text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:20px;color:#7a5c22}
.gb-form label{display:block;font-size:13px;font-weight:700;margin:10px 0 5px;color:#6a5233}
.gb-form input,.gb-form textarea{width:100%;padding:11px;border-radius:8px;border:1px solid rgba(160,130,70,.4);background:#fffdf8;font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.5}
.gb-form textarea{resize:vertical}
.gb-counter{margin:6px 0 0;font-size:12px;color:#a98b52;text-align:right}
.gb-actions{display:flex;justify-content:center;margin-top:14px}
.gb-status{margin:12px 0 0;text-align:center;font-size:14px;color:#8a6d3b}
.gb-status.is-error{color:#b3123c}
.gb-back-link{text-align:center;margin-top:22px}

/* Telefon: ozdobniki boczne przeskalowane, tytuł jako tekst (grafika byłaby nieczytelna) */
@media (max-width:900px){
  .gb-body{grid-template-columns:64px minmax(0,1fr) 64px}
  .gb-side{background-size:64px auto}
  .gb-content{padding:6px 12px 24px}
}
@media (max-width:640px){
  .gb-body{grid-template-columns:48px minmax(0,1fr) 48px}
  .gb-side{background-size:48px auto}
  .gb-content{padding:6px 10px 22px}
  .gb-entry-text{font-size:16px}
}
/* Dopiero tu wypalony tytuł zrobiłby się nieczytelny – zastępujemy go tekstem */
@media (max-width:480px){
  .gb-header-full{display:none}
  .gb-titlecard{display:block}
  .gb-frame-top{display:block}
      .gb-body{grid-template-columns:36px minmax(0,1fr) 36px}
  .gb-side{background-size:36px auto}
  .gb-content{padding:4px 10px 20px}
  .gb-form{padding:18px 14px}
}
/* Bardzo wąskie ekrany: ozdobniki węższe, by tekst nie wpadał w ciasną kolumnę */
@media (max-width:400px){
  .gb-body{grid-template-columns:24px minmax(0,1fr) 24px}
  .gb-side{background-size:24px auto}
  .gb-content{padding:4px 8px 18px}
  .gb-entry{padding:18px 0}
  .gb-entry-text{font-size:15px;line-height:1.55}
  .gb-entry-meta{font-size:13px}
}

/* Lista wpisów do zarządzania w panelu (księga gości) */
.entry-manager{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.entry-manager-item{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}
.entry-manager-body{min-width:0}
.entry-manager-text{margin:0 0 6px;line-height:1.5;word-break:break-word}
.entry-manager-item small{color:var(--muted)}
.entry-manager form{flex:none}
@media (max-width:600px){.entry-manager-item{flex-direction:column;align-items:stretch}}

/* Ogłoszenie o konkursie w galerii (pod tekstem powitalnym) */
.gallery-event-head p.gallery-contest{max-width:620px;margin:12px auto 0;padding:9px 15px;border-radius:12px;background:rgba(217,164,65,.14);border:1px solid rgba(200,155,74,.45);color:var(--sage-dark);font-size:12px;font-weight:600;line-height:1.45}

/* Checkboxy w ustawieniach: pole i opis w jednej linii, większe pole do trafienia palcem.
   Bez tego łapie je ogólna reguła formularza (width:100%;display:block) i checkbox
   wygląda jak pełnowymiarowe pole tekstowe z kwadracikiem pośrodku. */
.standard-form .settings-checks label,.standard-form label.checkbox{display:flex;align-items:center;gap:12px;padding-left:12px;font-size:13px;line-height:1.35;cursor:pointer}
.standard-form input[type="checkbox"]{display:inline-block;flex:none;width:26px;height:26px;min-width:26px;margin:0;padding:0;border-radius:7px;accent-color:#7b1038;cursor:pointer}
@media (max-width:640px){
  .standard-form input[type="checkbox"]{width:30px;height:30px;min-width:30px}
}

/* Obracanie zdjęć w panelu */
.rotate-form{display:flex;gap:6px;margin-top:6px}
.rotate-form button{font-size:17px;line-height:1;padding:5px 11px;border-radius:8px;border:1px solid var(--line);background:#fffdf9;cursor:pointer}
.rotate-form button:hover{background:#f3ece6}


/* Powiększone zdjęcie w podglądzie */
.photo-view-stage.is-zoomed{cursor:grab}
.photo-view-stage.is-zoomed img,.photo-view-stage.is-zoomed video{will-change:transform}

/* Dział „Ekran powitalny” na stronie głównej */
.welcome-screen-figure{max-width:1000px;margin:0 auto;line-height:0}
.welcome-screen-figure img{width:100%;height:auto;display:block;border-radius:18px;box-shadow:0 18px 50px rgba(60,40,20,.22)}

/* Kreator filmu podsumowującego */
.film-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;max-height:420px;overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fffdf9}
.film-pick-item{position:relative;margin:0;cursor:pointer;line-height:0}
.film-pick-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block;opacity:.45;transition:opacity .15s}
.film-pick-item input{position:absolute;top:6px;left:6px;z-index:2;width:22px;height:22px;min-width:22px;margin:0;accent-color:#7b1038;cursor:pointer}
.film-pick-item input:checked ~ img{opacity:1;outline:3px solid var(--rose-dark);outline-offset:-3px}
.film-actions{margin-top:16px}
.film-bar-track{height:10px;border-radius:999px;background:#eee5dc;overflow:hidden;margin-top:14px}
.film-bar{height:100%;width:0;background:linear-gradient(90deg,#c89b4a,#7b1038);transition:width .25s}
.film-status{margin:10px 0 0;font-size:14px;color:var(--muted);min-height:1.3em}
.film-status.is-error{color:#b3123c}
.film-preview{width:100%;max-width:640px;border-radius:14px;display:block;background:#000}

/* ---- Foto wyzwania ---- */
.ch-wrap{padding:24px 0 60px;max-width:640px;margin:0 auto}
.ch-head{text-align:center;margin-bottom:22px}
.ch-head h1{margin:0 0 8px;font-size:30px}
.ch-lead{margin:0;color:var(--muted);font-size:14px}
.ch-reward{margin:0 0 20px;padding:16px 18px;border-radius:14px;background:rgba(217,164,65,.16);border:1px solid rgba(200,155,74,.5);text-align:center;font-weight:700;color:var(--sage-dark);line-height:1.5}
.ch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ch-item{position:relative;padding:18px 18px 18px 56px;border-radius:16px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 3px 12px rgba(90,60,30,.06)}
.ch-item.is-done{background:#f5faf4;border-color:rgba(90,150,90,.4)}
.ch-number{position:absolute;left:16px;top:18px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--muted)}
.ch-text{margin:0 0 12px;font-size:16px;line-height:1.4;color:var(--ink)}
.ch-actions{display:flex;gap:10px;flex-wrap:wrap}
.ch-sent{margin:0;font-weight:700;color:#3f7a45}
.ch-status{margin:16px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.ch-status.is-error{color:#b3123c}
.ch-back{text-align:center;margin-top:22px}

/* Okno wysyłki zdjęcia do zadania */
.ch-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(30,20,15,.6);padding:16px;overflow-y:auto}
.ch-modal[hidden]{display:none}
.ch-modal-box{background:#fffdf9;border-radius:18px;padding:22px;max-width:460px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ch-modal-title{margin:0 0 6px;font-size:20px;text-align:center}
.ch-modal-task{margin:0 0 16px;padding:12px;border-radius:10px;background:var(--paper);font-size:14px;text-align:center;color:var(--ink)}
.ch-preview{margin-bottom:14px;line-height:0}
.ch-preview img{width:100%;max-height:280px;object-fit:contain;border-radius:10px;background:#000}
.ch-field{display:block;margin-top:12px;font-size:13px;font-weight:700}
.ch-field input,.ch-field textarea{width:100%;margin-top:6px;padding:11px;border-radius:10px;border:1px solid var(--line);font-size:15px}
.ch-modal-actions{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.ch-modal-status{margin:12px 0 0;text-align:center;font-size:14px;color:var(--muted)}
.ch-modal-status.is-error{color:#b3123c}

/* Etykieta wyzwania przy zdjęciu */
.photo-challenge-tag{display:inline-block;margin:0 0 8px;padding:5px 12px;border-radius:999px;background:rgba(217,164,65,.18);border:1px solid rgba(200,155,74,.45);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--sage-dark)}

/* Opis pod zdjęciem w galerii: wyzwanie, podpis, autor, data */
.public-photo-figure{margin:0 0 12px;break-inside:avoid;background:#fffdf9;border:1px solid var(--line);border-radius:15px;overflow:hidden}
.public-photo-figure .public-photo-card{border-radius:0;margin:0}
.public-photo-meta{padding:10px 12px 12px}
.public-photo-meta .photo-challenge-tag{margin:0 0 6px}
.ppm-challenge{margin:0 0 6px;font-size:13px;line-height:1.35;color:var(--ink)}
.ppm-caption{margin:0 0 6px;font-size:13px;line-height:1.4;font-style:italic;color:var(--muted)}
.ppm-foot{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0;font-size:11px;color:var(--muted)}
.ppm-author{font-weight:700;color:var(--sage-dark)}
.ppm-date{margin-left:auto}

/* Czterokolumnowy wiersz formularza (ustawienia wyzwań) */
.form-row.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media (max-width:900px){.form-row.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.form-row.four{grid-template-columns:1fr}}

/* ---- Podstrona „Funkcje systemu" ---- */
.features-page{display:flex;flex-direction:column;gap:46px;margin:10px auto 0;max-width:1080px}
.feature-group-head{max-width:680px;margin:0 0 20px}
.feature-group-head h2{margin:0 0 8px;font-size:26px;color:var(--ink)}
.feature-group-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.feature-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.feature-card{padding:20px;border-radius:16px;background:#fffdf9;border:1px solid var(--line);box-shadow:0 3px 14px rgba(90,60,30,.05)}
.feature-card h3{margin:0 0 8px;font-size:16px;color:var(--sage-dark)}
.feature-card p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.features-cta{max-width:680px;margin:56px auto 20px;text-align:center;padding:34px 26px;border-radius:20px;background:rgba(217,164,65,.12);border:1px solid rgba(200,155,74,.4)}
.features-cta h2{margin:0 0 8px;font-size:24px}
.features-cta p{margin:0 0 20px;color:var(--muted)}
.features-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media (max-width:640px){
  .features-page{gap:34px}
  .feature-cards{grid-template-columns:1fr;gap:12px}
  .feature-group-head h2{font-size:22px}
  .feature-card{padding:16px}
}

/* Aktywna zakładka panelu – organizator widzi, w którym dziale się znajduje */
.panel-tabs a{transition:background .15s,color .15s,border-color .15s}
.panel-tabs a:hover{background:#f5efe9}
.panel-tabs a.is-active{background:var(--rose-dark);border-color:var(--rose-dark);color:#fff}
.panel-tabs a.is-active:hover{background:var(--rose-dark)}

/* Przełączniki funkcji w zakładkach panelu – ten sam rozmiar co w Ustawieniach */
.panel-card label.checkbox{display:flex;align-items:center;gap:12px;margin:0 0 4px;padding-left:12px;font-size:14px;font-weight:700;line-height:1.35;cursor:pointer}
.panel-card label.checkbox input[type="checkbox"]{flex:none;width:26px;height:26px;min-width:26px;margin:0;border-radius:7px;accent-color:#7b1038;cursor:pointer}
@media (max-width:640px){.panel-card label.checkbox input[type="checkbox"]{width:30px;height:30px;min-width:30px}}

/* ---- Kreator wyglądu w panelu ---- */
.look-builder{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start;margin:6px 0 22px}
.look-config{display:flex;flex-direction:column;gap:22px;min-width:0}
.look-block h3{margin:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.look-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.standard-form .look-theme,.look-theme{display:flex;align-items:center;gap:9px;margin:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer;font-size:14px;font-weight:600;transition:border-color .15s,box-shadow .15s}
.look-theme input{position:absolute;opacity:0;pointer-events:none}
.look-theme.is-active{border-color:var(--sage-dark);box-shadow:0 0 0 2px rgba(52,71,56,.16)}
.look-theme .look-dot{flex:none;display:block;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.look-colors{display:flex;flex-wrap:wrap;gap:8px}
.look-color{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.look-color.is-active{border-color:var(--ink);box-shadow:0 0 0 2px #fff inset}
.look-custom{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;font-size:14px}
.look-custom input[type="color"]{width:74px;height:38px;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}
.look-bg{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:14px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--paper)}
.standard-form .look-bg-opt,.look-bg-opt{display:flex;align-items:center;justify-content:center;margin:0;padding:11px 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--muted);cursor:pointer}
.look-bg-opt input{position:absolute;opacity:0;pointer-events:none}
.look-bg-opt.is-active{background:var(--sage-dark);color:#fff}
.look-block label{display:block;margin-bottom:12px;font-size:12px;font-weight:700}
.look-block select{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);font-size:15px}

/* Podgląd telefonu */
.look-preview{position:sticky;top:16px;min-width:0}
.look-phone{border:9px solid #241f1a;border-radius:30px;overflow:hidden;box-shadow:0 14px 40px rgba(60,40,20,.24);background:#241f1a}
.look-screen{padding:26px 18px 22px;text-align:center;background:var(--prev-page,#fffaf5);color:var(--prev-text,#29352d);min-height:520px}
.look-kicker{margin:0 0 10px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--prev-accent,#7d9b76)}
.look-name{margin:0 0 8px;font-family:var(--prev-script,"Great Vibes"),cursive;font-size:40px;line-height:1.15;color:var(--prev-accent,#7d9b76);word-break:break-word}
.look-greet{margin:0 0 18px;font-family:var(--prev-heading,"Cormorant Garamond"),serif;font-size:15px;line-height:1.45;color:var(--prev-muted,#687069)}
.look-btns{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px}
.look-btn{display:flex;align-items:center;justify-content:flex-start;width:65%;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;font-size:10.5px;font-weight:700;background:var(--prev-accent,#7d9b76);color:#fff;text-align:left}
.look-btn-icon{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22)}
.look-btn-icon svg{width:15px;height:15px;fill:#fff}
.look-btn-icon.is-play svg{width:17px;height:17px}
.look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.look-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:7px;display:block;background:var(--prev-card,#efe7dc)}
@media (max-width:900px){
  .look-builder{grid-template-columns:1fr}
  .look-preview{position:static;max-width:360px;margin:0 auto}
  .look-themes{grid-template-columns:1fr}
}

/* Komórka PIN-u: pole i checkbox „Usuń ochronę PIN" trzymają się razem */
.pin-cell{min-width:0}
.pin-cell>label:first-child{margin-bottom:10px}
.pin-cell label.checkbox{padding-left:0}

/* Checkboxy ustawień w dwóch jawnych kolumnach – prawa zaczyna się od „Usuń ochronę PIN" */
.sc-col{display:flex;flex-direction:column;gap:10px;min-width:0}

/* Link powrotu na górze stron dla Gości – spójnie ze stroną wyzwań */
.guest-back-top{margin:0 0 14px;font-size:14px}
.guest-back-top a{color:var(--accent,var(--rose-dark));text-decoration:none;font-weight:600}
.guest-back-top a:hover{text-decoration:underline}

/* Ikona pokazu slajdów rysowana kreską po obwodzie – jak aparat i serce obok.
   Specyficzność musi przebić wcześniejszą regułę wypełniającą trójkąt. */
.gallery-primary-actions .button-icon.is-play svg,
.gallery-primary-actions .button-icon.is-play svg path,
/* Trójkąt jest rysowany w mniejszym obszarze niż aparat i serce, więc go powiększamy.
   Skala i grubość dobrane pomiarem pikseli tak, by kreska i wysokość rysunku
   odpowiadały aparatowi i sercu. Grubość musi być w tej samej regule co selektor
   ze ścieżką, inaczej wcześniejsza reguła ją nadpisze. */
.gallery-primary-actions .button-icon.is-play svg path[d^="M9 7.5"]{fill:none;stroke:#5a2030;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;transform:scale(1.2);transform-box:fill-box;transform-origin:center}

/* Pasek informacyjny w wersji demonstracyjnej */
.demo-banner{margin:0 0 18px;padding:14px 18px;border-radius:14px;background:rgba(217,164,65,.16);border:1px solid rgba(200,155,74,.5);font-size:14px;line-height:1.5;color:var(--sage-dark)}
.demo-banner strong{color:var(--ink)}

/* Cztery pola ustawień wyzwań w dwóch rzędach po dwa */
.form-row.look-two-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:560px){.form-row.look-two-rows{grid-template-columns:1fr}}
/* Niższe pola opisowe w ustawieniach wyzwań */
.standard-form textarea[name="challenges_intro"]{min-height:80px;height:80px}
.standard-form textarea[name="challenges_reward_text"]{min-height:48px;height:48px}

/* Adres fotobudki jako odnośnik – ma być rozpoznawalny, ale nie krzykliwy */
.copy-value a{color:var(--rose-dark);text-decoration:none;border-bottom:1px solid rgba(145,67,81,.35)}
.copy-value a:hover{border-bottom-color:var(--rose-dark)}

/* ---- Dział „Fotobudka" na stronie głównej ---- */
.booth-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center}
.booth-copy h2{margin:8px 0 14px}
.booth-copy>p{margin:0 0 18px;color:var(--muted);line-height:1.6}
.booth-list{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:12px}
.booth-list li{position:relative;padding-left:26px;font-size:15px;line-height:1.5;color:var(--muted)}
.booth-list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.booth-list strong{color:var(--ink)}
/* Film pionowy - ramka trzyma proporcje telefonu niezależnie od szerokości kolumny */
.booth-video{display:flex;flex-direction:column;align-items:center}
.booth-video-frame{position:relative;width:100%;max-width:300px;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#141210;box-shadow:0 20px 55px rgba(60,40,20,.26)}
.booth-video-frame iframe,.booth-video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#141210}
.booth-video-caption{margin:14px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:900px){
  .booth-grid{grid-template-columns:1fr;gap:32px}
  .booth-video{order:-1}
  
/* ---- Lista zalet aplikacji Fotobudka (panel, zakładka Fotobudka) ---- */
.booth-app-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.booth-app-list li{position:relative;padding-left:26px;font-size:14px;line-height:1.55;color:var(--muted)}
.booth-app-list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.booth-app-list strong{color:var(--ink)}

/* ---- Próbnik koloru jako czyste kółko (jak aktywne kółka w Ustawieniach) ----
   Kolor pokazuje element SPAN (background ustawiany inline i live przez oninput),
   a natywny input jest przezroczystą nakładką na wierzchu - wygląd jest identyczny
   w każdej przeglądarce (nie zależymy od kapryśnego stylowania input[type=color]). */
.pb-swatch{position:relative;display:inline-block;width:34px;height:34px;min-width:34px;flex:none;margin-left:10px;vertical-align:middle;border-radius:50%;border:2px solid var(--ink);box-shadow:0 0 0 2px #fff inset;cursor:pointer;overflow:hidden}
.pb-swatch:hover{border-color:var(--rose)}
label.checkbox .pb-swatch{align-self:center}
.pb-swatch .pb-kolor{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:none!important;background:none!important;opacity:0!important;cursor:pointer!important}

/* ---- Podgląd ramki na zdjęciu (panel, zakładka Fotobudka) ---- */
.bf-podglad{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;margin:16px 0 6px}
.bf-ramka{width:230px;border-radius:6px;overflow:hidden;box-shadow:0 8px 26px rgba(60,40,20,.18);flex:none}
.bf-wnetrze{padding:9px}
.bf-foto{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#4a3630,#241a18);overflow:hidden}
.bf-foto::after{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 22% 26%,rgba(255,214,150,.55) 0 5%,transparent 6%),
  radial-gradient(circle at 68% 18%,rgba(255,214,150,.45) 0 4%,transparent 5%),
  radial-gradient(circle at 84% 40%,rgba(255,214,150,.35) 0 3%,transparent 4%),
  radial-gradient(circle at 40% 60%,rgba(255,214,150,.3) 0 3%,transparent 4%)}
.bf-napisy{position:absolute;left:0;right:0;top:0;padding:12px 8px 20px;text-align:center;z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,.58),rgba(0,0,0,0))}
.bf-nazwa{display:block;font-size:17px;font-weight:700;line-height:1.15}
.bf-data{display:block;margin-top:4px;font-size:10px}
.bf-stopka{text-align:center;font-size:9px;padding:7px 0 8px;letter-spacing:.02em}
.bf-opis{font-size:13px;line-height:1.5;color:var(--muted);max-width:330px}
.bf-opis strong{color:var(--ink)}

}




/* Podgląd ramki Fotobudki w obudowie telefonu + realne zdjęcie.
   Kwadrat robimy spacerem ::before (działa w każdej przeglądarce), a zdjęcie i
   podpis to nakładki absolutne - dzięki temu podpis zawsze jest na zdjęciu, a
   ramka nie rośnie w dół. Mocniejszy cień pod napisami = czytelność na jasnym zdjęciu. */
.bf-phone{border:9px solid #241f1a;border-radius:30px;overflow:hidden;box-shadow:0 14px 40px rgba(60,40,20,.24);background:#241f1a;width:250px;flex:none}
.bf-phone-screen{display:block;padding:12px;background:#0e0c0b}
.bf-phone .bf-ramka{display:block;width:100%;border-radius:4px;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.bf-phone .bf-wnetrze{display:block;padding-bottom:0!important}
.bf-phone .bf-foto{position:relative;display:block;width:100%;height:auto;padding:0;aspect-ratio:auto;overflow:hidden;background:#000;line-height:0}
.bf-phone .bf-foto::before{content:"";display:block;padding-top:100%}
.bf-phone .bf-foto::after{display:none}
.bf-phone .bf-foto-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bf-phone .bf-napisy{position:absolute;top:0;left:0;right:0;z-index:3;padding:14px 10px 26px;text-align:center;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 55%,transparent)}
.bf-phone .bf-nazwa{display:block;width:100%;font-size:26px;line-height:1.06}
.bf-phone .bf-data{display:block;width:100%;margin-top:6px;font-size:12px;line-height:1.2}
.bf-phone .bf-stopka{font-size:9px;padding:3px 0 5px;line-height:1.1;letter-spacing:.02em}
