/* v95: „Carte de povești”. --ex-wash = pânza copertei, --ex-accent = folia aurie, --ex-paper = paginile. */
.ex-carte{--bk-foil:linear-gradient(115deg,color-mix(in srgb,var(--ex-accent) 78%,#5a4120) 0%,color-mix(in srgb,var(--ex-accent) 45%,#fff6dc) 28%,var(--ex-accent) 48%,color-mix(in srgb,var(--ex-accent) 40%,#fffbe8) 66%,color-mix(in srgb,var(--ex-accent) 82%,#4d3618) 100%);--bk-cloth:var(--ex-wash);--bk-btn:color-mix(in srgb,var(--ex-wash) 45%,var(--ex-ink));--bk-gold:color-mix(in srgb,var(--ex-accent) 50%,var(--ex-ink));--bk-script:'Great Vibes',Georgia,cursive}

/* ---------- Coperta închisă (deschidere + miniatură) ---------- */
.bk-opening{background:radial-gradient(120% 90% at 50% 30%,var(--ex-paper),color-mix(in srgb,var(--ex-paper) 82%,var(--bk-cloth)))}
.bk-closed{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:44px 20px 34px;text-align:center;perspective:1600px}
.bk-volume{position:relative;width:min(74%,330px);aspect-ratio:3/4;container-type:inline-size;transform-style:preserve-3d;animation:bk-float 6s ease-in-out infinite}
.bk-block{position:absolute;inset:1.6% 0 1.6% 2.5%;border-radius:2px 7px 7px 2px;background:radial-gradient(130% 100% at 30% 20%,#fffdf8,var(--ex-paper));box-shadow:1px 1px 0 #efe6d4,2px 2px 0 #e4d9c3,3px 3px 0 #efe6d4,4px 4px 0 #dccfb6,5px 5px 0 #e9dfcb,6px 6px 0 #d3c4a8,0 22px 40px #2a1d1240;display:grid;place-content:center;gap:10px;color:var(--ex-ink)}
.bk-block span{font:600 max(7px,3.3cqi)/1 Arial,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--bk-gold)}
.bk-cover{position:absolute;inset:0;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.35s cubic-bezier(.6,.04,.2,1);z-index:2}
.bk-cover-front,.bk-cover-back{position:absolute;inset:0;border-radius:3px 9px 9px 3px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bk-cover-front{background:
  linear-gradient(90deg,#00000038 0,#0000 7%,#ffffff12 9%,#0000 12%),
  repeating-linear-gradient(0deg,#ffffff07 0 1px,#0000 1px 3px),
  repeating-linear-gradient(90deg,#00000010 0 1px,#0000 1px 3px),
  radial-gradient(120% 90% at 40% 25%,color-mix(in srgb,var(--bk-cloth) 82%,#fff),var(--bk-cloth) 55%,color-mix(in srgb,var(--bk-cloth) 70%,#000));
  box-shadow:inset 0 0 0 1px #ffffff14,inset -3px 0 6px #00000030,0 24px 44px #1d140c55;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:21% 15% 18% 17%;color:var(--ex-accent)}
.bk-frame{position:absolute;inset:6.5% 8% 6.5% 11%;border:1.5px solid color-mix(in srgb,var(--ex-accent) 85%,transparent);border-radius:2px;pointer-events:none}
.bk-frame:before{content:'';position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--ex-accent) 55%,transparent)}
.bk-frame:after{content:'✦';position:absolute;left:50%;top:-.62em;transform:translateX(-50%);font-size:max(8px,4.2cqi);padding:0 .4em;color:var(--ex-accent);background:color-mix(in srgb,var(--bk-cloth) 88%,#fff);border-radius:50%}
.bk-cover-kicker,.bk-cover-date{font:600 max(6px,3.1cqi)/1.5 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;margin:0;background:var(--bk-foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bk-shine 7s ease-in-out infinite}
.bk-cover-name{font:400 max(18px,15cqi)/1.05 var(--bk-script);margin:.15em -.25em .1em;padding:.22em .25em .08em;background:var(--bk-foil);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:bk-shine 7s ease-in-out infinite;filter:drop-shadow(0 1px 0 #0000004d)}
.bk-cover-rule{display:block;font-size:max(9px,5.5cqi);margin:.1em 0 .6em;color:var(--ex-accent);opacity:.9}
.bk-cover-back{transform:rotateY(180deg);background:
  radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--ex-accent) 35%,transparent) 1.2px,transparent 1.6px) 0 0/18px 18px,
  linear-gradient(135deg,color-mix(in srgb,var(--ex-paper) 70%,var(--bk-cloth)),color-mix(in srgb,var(--ex-paper) 55%,var(--bk-cloth)));
  box-shadow:inset -10px 0 18px #00000022}
.bk-ribbon{position:absolute;left:64%;bottom:-34px;width:14px;height:70px;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--ex-accent) 65%,#000) 0,var(--ex-accent) 45%,color-mix(in srgb,var(--ex-accent) 70%,#000) 100%);clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);transform-origin:top center;animation:bk-sway 5s ease-in-out infinite}
.bk-closed .ex-open{margin-top:6px;border-color:color-mix(in srgb,var(--bk-cloth) 70%,var(--ex-accent));color:var(--ex-ink);background:#fffdf8}
.bk-closed .ex-note{margin:0;font:italic 15px/1.5 Georgia,serif;color:color-mix(in srgb,var(--ex-ink) 80%,transparent)}
/* Deschiderea: coperta se întoarce, cartea se centrează, apoi apar paginile. */
.bk-opening.is-opening .bk-volume{animation:bk-center 1.5s cubic-bezier(.6,.04,.2,1) forwards}
.bk-opening.is-opening .bk-cover{transform:rotateY(-168deg)}
.bk-opening.is-opening .bk-ribbon{animation:none;opacity:0;transition:opacity .4s}
.bk-opening.is-opening .ex-open,.bk-opening.is-opening .ex-note{opacity:0;transition:opacity .35s}
.bk-opening.is-opening{animation:bk-fade-out .45s 1.1s forwards}

/* ---------- Paginile (invitația deschisă) ---------- */
.bk-book{padding:30px 16px 22px;background:radial-gradient(120% 80% at 50% 0,var(--ex-paper),color-mix(in srgb,var(--ex-paper) 84%,var(--bk-cloth)));font:15px/1.7 Georgia,serif}
.bk-book.bk-revealed{animation:bk-arrive .7s cubic-bezier(.2,.7,.2,1) both}
.bk-spread{position:relative;max-width:520px;margin:0 auto;perspective:2200px}
.bk-book .bk-pages{position:relative;display:grid;border-radius:2px 8px 8px 2px;box-shadow:1px 1px 0 #efe6d4,2px 2px 0 #e2d6bf,3px 3px 0 #efe6d4,4px 4px 0 #d9cbb0,0 22px 44px #2a1d1233}
.bk-book .bk-pages:before{content:'';position:absolute;left:0;top:0;bottom:0;width:7%;z-index:40;pointer-events:none;background:linear-gradient(90deg,#00000024,#0000);border-radius:2px 0 0 2px}
.bk-book .bk-page{grid-area:1/1;position:relative;min-height:540px;padding:44px 34px 56px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ex-ink);border-radius:2px 8px 8px 2px;background:
  radial-gradient(140% 90% at 30% 10%,#fffefa,transparent 60%),
  repeating-linear-gradient(0deg,#0000 0 3px,#00000004 3px 4px),
  var(--ex-paper)}
.bk-book .bk-page:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(270deg,#00000030,#0000 45%);opacity:0;transition:opacity .6s}
.bk-book .bk-chapter{font:600 10px/1 Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--bk-gold);display:flex;align-items:center;gap:12px;margin:0 0 22px}
.bk-book .bk-chapter:before,.bk-book .bk-chapter:after{content:'';width:28px;height:1px;background:currentColor;opacity:.6}
.bk-book .bk-kicker{font:italic 15px/1.5 Georgia,serif;margin:0;color:color-mix(in srgb,var(--ex-ink) 75%,transparent)}
.bk-book .bk-name{font:400 clamp(44px,13cqi,68px)/1.05 var(--bk-script);letter-spacing:0;margin:.2em 0 .1em;color:var(--ex-ink);outline:none}
.bk-book .bk-ornament{display:flex;align-items:center;gap:12px;color:var(--bk-gold);font-size:20px;margin:6px 0 10px}
.bk-book .bk-ornament span{width:54px;height:1px;background:currentColor;opacity:.55}
.bk-book .bk-invite{margin:0;font:17px/1.6 Georgia,serif}
.bk-book .bk-date{margin:12px 0 0;font:600 12px/1.6 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--bk-gold)}
.bk-book .bk-photo{width:min(62%,240px);aspect-ratio:3/4;margin:22px auto 0;padding:7px;background:#fff;box-shadow:0 10px 24px #2a1d1226;transform:rotate(-1.5deg)}
.bk-book .bk-photo img{width:100%;height:100%;object-fit:cover;display:block}
.bk-book .bk-title{font:400 clamp(26px,7cqi,34px)/1.2 Georgia,serif;margin:0 0 18px}
.bk-book .bk-message{font:italic 17px/1.85 Georgia,serif;margin:0 auto 18px;max-width:34ch;white-space:pre-line}
.bk-book .bk-message:first-letter{font:400 3.2em/.8 var(--bk-script);float:left;margin:.1em .12em 0 0;color:var(--bk-gold)}
.bk-book .bk-people{display:grid;gap:14px;margin-top:6px;width:100%}
.bk-book .bk-label{font:600 10px/1.6 Arial,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--bk-gold);margin:0 0 4px}
.bk-book .bk-person p:last-child{margin:0;font:18px/1.4 Georgia,serif}
.bk-book .bk-places{display:grid;gap:22px;width:100%}
.bk-book .bk-place h3{font:400 21px/1.3 Georgia,serif;margin:4px 0 2px}
.bk-book .bk-place p{margin:0;color:color-mix(in srgb,var(--ex-ink) 78%,transparent)}
.bk-book .bk-time{font:400 30px/1 Georgia,serif;color:var(--ex-ink)}
.bk-book .bk-question{font:italic 19px/1.5 Georgia,serif;margin:0 0 8px}
.bk-book .bk-deadline{margin:0 0 6px;font-size:14px;color:color-mix(in srgb,var(--ex-ink) 75%,transparent)}
.bk-book .premium-rsvp{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;margin:16px 0 22px;min-height:50px;padding:12px 28px;border-radius:30px;border:0;background:var(--bk-btn);color:#fffaf0;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:0 8px 18px #1d140c33}
.bk-book .bk-signature{margin:0;font:400 30px/1.1 var(--bk-script);color:var(--ex-ink);display:grid;gap:6px}
.bk-book .bk-signature small{font:600 9px Arial,sans-serif;letter-spacing:.3em;color:var(--bk-gold)}
.bk-book .bk-folio{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font:italic 13px Georgia,serif;color:color-mix(in srgb,var(--ex-ink) 55%,transparent)}
.bk-book .bk-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px}
.bk-book .bk-nav[hidden]{display:none}
.bk-book .bk-nav button{min-height:42px;padding:8px 18px;border-radius:30px;border:1px solid color-mix(in srgb,var(--bk-cloth) 55%,var(--ex-paper));background:#fffdf8;color:var(--ex-ink);font:600 13px Arial,sans-serif;cursor:pointer}
.bk-book .bk-nav .bk-next{background:var(--bk-btn);border-color:var(--bk-btn);color:#fffaf0}
.bk-book .bk-nav button:disabled{opacity:.35;cursor:default}
.bk-book .bk-count{font:13px Arial,sans-serif;color:color-mix(in srgb,var(--ex-ink) 70%,transparent);min-width:42px}
/* Fără JavaScript sau în contexte statice: paginile una sub alta. */
.bk-book:not(.bk-flip) .bk-pages{display:flex;flex-direction:column;gap:2px}
/* Modul carte: paginile se întorc în jurul cotorului. */
.bk-flip .bk-page{transform-origin:left center;transition:transform 1s cubic-bezier(.45,.05,.2,1),visibility 0s 1s;backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:calc(30 - var(--i))}
.bk-flip .bk-page.is-turned{transform:rotateY(-176deg);visibility:hidden}
.bk-flip .bk-page.is-turned:after{opacity:1}
.bk-flip .bk-page:not(.is-turned){transition:transform 1s cubic-bezier(.45,.05,.2,1),visibility 0s}

/* ---------- Miniatura din catalog ---------- */
.experience-mini.bk-mini{background:radial-gradient(110% 80% at 50% 30%,var(--ex-paper),color-mix(in srgb,var(--ex-paper) 80%,var(--bk-cloth)))}
.bk-mini .bk-closed{min-height:0;height:100%;padding:30px 16px 20px;gap:18px}
.bk-mini .bk-volume{width:min(70%,230px);animation:none}
.bk-mini .ex-open{font-size:11px;min-height:36px;padding:8px 15px}
.bk-mini .ex-note{display:none}
.bk-mini .bk-ribbon{height:46px;bottom:-22px;width:11px;animation:none}
.model-link:is(:focus-visible,.scroll-open) .bk-mini .bk-cover{transform:rotateY(-150deg)}
@media(hover:hover){.model-link:hover .bk-mini .bk-cover{transform:rotateY(-150deg)}}

@keyframes bk-shine{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@keyframes bk-float{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-6px) rotate(.4deg)}}
@keyframes bk-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes bk-center{to{transform:translateX(42%) scale(1.04)}}
@keyframes bk-fade-out{to{opacity:0}}
@keyframes bk-arrive{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
@media(max-width:480px){.bk-book .bk-page{min-height:520px;padding:40px 24px 54px}.bk-closed{min-height:520px}@keyframes bk-center{to{transform:translateX(30%) scale(1.02)}}}
@media(prefers-reduced-motion:reduce){.bk-volume,.bk-ribbon,.bk-cover-name,.bk-cover-kicker,.bk-cover-date{animation:none!important}.bk-flip .bk-page,.bk-cover{transition:none!important}.bk-opening.is-opening,.bk-book.bk-revealed{animation:none!important}}
/* v95: pânză deschisă — folie aurie închisă, umbre discrete. */
.ex-carte.bk-light{--bk-foil:linear-gradient(115deg,color-mix(in srgb,var(--ex-accent) 70%,#2e1f0c) 0%,var(--ex-accent) 30%,color-mix(in srgb,var(--ex-accent) 75%,#fff2cf) 50%,var(--ex-accent) 68%,color-mix(in srgb,var(--ex-accent) 72%,#2b1c0a) 100%);--bk-btn:color-mix(in srgb,var(--ex-accent) 55%,var(--ex-ink))}
.bk-light .bk-cover-front{box-shadow:inset 0 0 0 1px #ffffff40,inset -3px 0 6px #00000018,0 24px 44px #3a281333}
.bk-light .bk-cover-name{filter:drop-shadow(0 1px 0 #ffffff99)}
.bk-light .bk-frame{border-color:color-mix(in srgb,var(--ex-accent) 90%,transparent)}
.bk-light .bk-frame:after{background:color-mix(in srgb,var(--bk-cloth) 92%,#fff)}
/* Ilustrațiile locațiilor (Biserică / Restaurant), alese de client în editor. */
.bk-book .bk-icon{display:block;width:min(62%,170px);height:auto;margin:0 auto 6px;mix-blend-mode:multiply;opacity:.92}
@container (min-width:460px){.bk-book .bk-places{grid-template-columns:1fr 1fr;gap:18px}.bk-book .bk-icon{width:min(88%,170px)}}
/* Miniatura din catalog: la deschidere se vede fotografia de prezentare, ca o poză de album. */
.bk-mini .bk-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8%}
.bk-block-photo{display:block;width:70%;height:auto;aspect-ratio:3/4;object-fit:cover;padding:4px;background:#fff;box-shadow:0 6px 14px #2a1d1226}
.bk-mini .bk-block-photo+span{display:none}
