:root{font-family:Georgia,serif;color:#60394b;background:#fff7f8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 5%,#f6d8e7,transparent 45%),linear-gradient(135deg,#fff8f3,#f8e1eb);min-height:100vh}.wrap{max-width:650px;margin:auto;padding:22px 16px 90px}header{text-align:center;padding:24px 5px}h1{font-size:29px;margin:8px 0}h2{font-size:24px;margin:8px 0 18px}.spark{color:#b37b95;letter-spacing:6px}.card{background:linear-gradient(135deg,#fff,#fceaf1 70%,#fff9ef);border:1px solid #e7becf;border-radius:26px;padding:24px;margin:18px 0;box-shadow:0 8px 25px #8d50631c}label{display:block;font:bold 17px system-ui;margin:17px 0 7px}input,textarea{width:100%;border:1px solid #cda6b5;border-radius:14px;padding:14px;font:18px system-ui;background:white;color:#4d3040}textarea{min-height:150px;resize:vertical}.btn{display:block;width:100%;border:0;border-radius:15px;padding:17px 12px;font:bold 18px system-ui;background:linear-gradient(110deg,#75465e,#b86f90,#75465e);color:white;margin-top:16px;cursor:pointer}.secondary{background:#f4dce5;color:#60394b}.small{font:14px/1.5 system-ui;color:#826b77}.notice{border-radius:14px;padding:14px;font:16px/1.5 system-ui;background:#fff0c9;margin-top:14px}.success{background:#e5f5e9;color:#235b39}.error{background:#ffdfdf;color:#8d2727}.hidden{display:none}nav{display:flex;gap:10px;position:sticky;top:0;background:#fff9f8e8;backdrop-filter:blur(10px);padding:12px;border-radius:0 0 18px 18px;z-index:2}nav button{flex:1;padding:13px 6px;border:1px solid #d8b3c2;border-radius:13px;background:#f7e4eb;color:#643c50;font:bold 16px system-ui}.screen{display:none}.screen.active{display:block}.message{white-space:pre-wrap;font-size:20px;line-height:1.6;transition:opacity .4s}.loading .message,.loading h2{opacity:.45}.date{font:15px system-ui;color:#9a6f84;margin:-8px 0 14px;letter-spacing:.5px}.badge{display:inline-block;background:linear-gradient(110deg,#b86f90,#d996b3);color:#fff;font:bold 14px system-ui;padding:7px 14px;border-radius:999px;letter-spacing:.3px}.akce{text-align:center;padding:16px 20px}.lead{font:16px/1.6 system-ui;color:#6e4a5c}.offer{padding:20px 22px}.offer h3{margin:0 0 6px;font-size:21px}.price{font:bold 20px system-ui;color:#8c4f6c}.price small{font-weight:normal;color:#9a6f84}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1 1 150px}.row .btn{margin-top:12px;padding:14px 10px;font-size:16px}.desc{white-space:pre-wrap;font:16px/1.65 system-ui;color:#5a3a4a;background:#fff;border:1px dashed #e0b5c6;border-radius:14px;padding:14px;margin-top:12px}.choice{display:flex;gap:10px;flex-wrap:wrap}.choice label{flex:1 1 130px;margin:0;font:16px system-ui;border:1px solid #cda6b5;border-radius:14px;padding:13px;background:#fff;cursor:pointer;display:flex;gap:8px;align-items:center}.choice input{width:auto;margin:0}.choice label.disabled{opacity:.5;cursor:not-allowed}select{width:100%;border:1px solid #cda6b5;border-radius:14px;padding:14px;font:17px system-ui;background:#fff;color:#4d3040}.check{display:flex;gap:10px;align-items:flex-start;font:15px/1.5 system-ui;margin-top:16px}.check input{width:auto;margin-top:4px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.pay dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font:16px system-ui;margin:10px 0}.pay dt{color:#9a6f84}.pay dd{margin:0;font-weight:bold;word-break:break-word}.qr{background:#fff;border-radius:18px;padding:12px;max-width:260px;margin:12px auto;border:1px solid #e7becf}.qr svg{display:block;width:100%;height:auto}.big{font:bold 26px system-ui;color:#75465e;letter-spacing:1px}.order{border:1px solid #e7becf;border-radius:18px;padding:16px;margin:12px 0;background:#fff;font:15px/1.5 system-ui}.order h4{margin:0 0 4px;font:bold 17px system-ui}.order .q{white-space:pre-wrap;background:#fdf3f7;border-radius:10px;padding:10px;margin:8px 0}.st{display:inline-block;border-radius:999px;padding:3px 10px;font:bold 13px system-ui;background:#f4dce5}.st-nova{background:#fff0c9}.st-ceka_na_platbu{background:#fde2cf}.st-zaplaceno{background:#e5f5e9}.st-vyrizeno{background:#e4e4f5}.adm h3{margin:22px 0 4px;font-size:19px}.adm-v{border-top:1px solid #ecc9d7;padding-top:8px;margin-top:16px}fieldset{border:0;padding:0;margin:0}legend{font:bold 17px system-ui;margin:17px 0 7px;padding:0}.ttl{font-size:19px;margin:24px 0 6px}.ttl small{font:14px system-ui;color:#9a6f84}.doba{white-space:pre-wrap;font:16px/1.65 system-ui;color:#5a3a4a}.choice.col{flex-direction:column}.choice.col label{flex:1 1 auto}.choice label small{color:#8c4f6c}.oblasti label{flex:1 1 220px}.sub{background:#fff6f9;border:1px solid #ecc9d7;border-radius:16px;padding:4px 14px 14px;margin-top:12px}.ethics{background:#fdeef4;color:#5a3a4a;border:1px solid #e7becf}.soft{background:#fff;box-shadow:none;padding:16px 18px}.pricebox{background:#fff;border:2px solid #e0b5c6;border-radius:18px;padding:6px 18px;margin-top:14px}.pricebox dl,.pay dl{display:grid;grid-template-columns:1fr auto;gap:6px 14px;font:16px system-ui;margin:10px 0}.pricebox dd,.pay dd{margin:0;font-weight:bold;text-align:right;word-break:break-word}.pricebox dt{color:#7d5a6b}.tot{border-top:1px solid #e7becf;padding-top:8px;font-size:19px!important;color:#75465e!important;font-weight:bold}.osoba{border:1px solid #e7becf;border-radius:16px;padding:4px 14px 14px;margin:12px 0;background:#fff}.osoba h4{margin:12px 0 0;font:bold 16px system-ui;display:flex;justify-content:space-between;align-items:center}.linkbtn{background:none;border:0;color:#8d2727;font:14px system-ui;text-decoration:underline;cursor:pointer;padding:4px}footer{text-align:center;margin-top:30px;font:14px/1.6 system-ui;color:#826b77}footer a,.check a{color:#8c4f6c}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0}.kv b{color:#7d5a6b;font-weight:normal}.pill{display:inline-block;background:#fdf3f7;border-radius:999px;padding:2px 9px;margin:2px;font-size:13px}.exp{background:#fde2cf;color:#7a3d14}.pay dl.kv2{grid-template-columns:auto 1fr}@media(max-width:480px){.wrap{padding:12px 10px 70px}.card{padding:18px 15px;border-radius:20px}nav{gap:6px;padding:8px}nav button{font-size:14px;padding:11px 4px}h1{font-size:25px}.kv{grid-template-columns:1fr}.kv b{margin-top:4px}}.tel{font-weight:bold;color:#8c4f6c;white-space:nowrap;text-decoration:none;border-bottom:1px dashed #b86f90}.contact .lead{margin:6px 0}
/* ===== Shared additions (obchod, karty, horoskopy, VIP, správa) ===== */
.wrap.wide{max-width:1080px}
nav.mainnav{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
nav.mainnav::-webkit-scrollbar{display:none}
nav.mainnav a{flex:1 0 auto;padding:12px 12px;border:1px solid #d8b3c2;border-radius:13px;background:#f7e4eb;color:#643c50;font:bold 15px system-ui;text-decoration:none;text-align:center;white-space:nowrap}
nav.mainnav a.on{background:linear-gradient(110deg,#75465e,#b86f90);color:#fff;border-color:#75465e}
a.btn{text-align:center;text-decoration:none;box-sizing:border-box}
.btn:disabled{opacity:.55;cursor:wait}
.btn.inline{display:inline-block;width:auto;padding:12px 18px;font-size:16px;margin-top:8px}
.btn.danger{background:#f7d4d4;color:#8d2727}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.prod{background:#fff;border:1px solid #e7becf;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 18px #8d50631a;cursor:pointer;transition:transform .2s,box-shadow .2s;color:inherit;text-decoration:none}
.prod:hover{transform:translateY(-3px);box-shadow:0 12px 26px #8d50632e}
.prod img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fbeef3;display:block}
.prod .pb{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod h3{font-size:17px;margin:0;line-height:1.35}
.tag{display:inline-block;border-radius:999px;padding:3px 10px;font:bold 12px system-ui;background:#e5f5e9;color:#235b39}
.tag.nedostupne{background:#fff0c9;color:#7a5a14}.tag.vyprodano{background:#f3e3e3;color:#8d2727}.tag.skryto{background:#e7e7ee;color:#555}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
.chips button{border:1px solid #d8b3c2;background:#fff;border-radius:999px;padding:8px 14px;font:15px system-ui;color:#643c50;cursor:pointer}
.chips button.on{background:#75465e;color:#fff;border-color:#75465e}
.gallery{display:grid;gap:10px}
.gallery .main{width:100%;border-radius:18px;background:#fbeef3;aspect-ratio:1/1;object-fit:contain}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:2px solid transparent;cursor:pointer}
.thumbs img.on{border-color:#b86f90}
@media(min-width:800px){.detail{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:38px;height:38px;border-radius:10px;border:1px solid #cda6b5;background:#fff;font:bold 18px system-ui;color:#60394b;cursor:pointer}
.qty span{min-width:28px;text-align:center;font:bold 17px system-ui}
.cartline{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid #f0d6e0;padding:10px 0;font:15px/1.4 system-ui}
.cartline img{width:64px;height:64px;object-fit:cover;border-radius:12px;background:#fbeef3}
.cartbtn{position:fixed;right:16px;bottom:16px;z-index:5;border:0;border-radius:999px;padding:14px 20px;font:bold 16px system-ui;background:linear-gradient(110deg,#75465e,#b86f90);color:#fff;box-shadow:0 8px 24px #75465e55;cursor:pointer}
.cartbtn .n{background:#fff;color:#75465e;border-radius:999px;padding:1px 8px;margin-left:6px}
/* Zodiac picker */
.zgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:10px}
.zgrid button{border:1px solid #e0b5c6;background:linear-gradient(160deg,#fff,#fbe6ee);border-radius:18px;padding:12px 6px;cursor:pointer;color:#60394b;font:15px system-ui;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .15s}
.zgrid button b{font-size:15px}.zgrid button .sym{font-size:28px;line-height:1.1;color:#b86f90}
.zgrid button small{font-size:11px;color:#9a6f84}
.zgrid button.on{background:linear-gradient(160deg,#75465e,#b86f90);color:#fff}.zgrid button.on .sym,.zgrid button.on small{color:#fff}
.zgrid button:hover{transform:translateY(-2px)}
/* Card flip */
.deck{display:flex;justify-content:center;gap:clamp(8px,2.5vw,22px);flex-wrap:wrap;perspective:1400px;margin:18px 0}
.flip{width:clamp(96px,28vw,250px);aspect-ratio:2/3;position:relative;cursor:pointer;border:0;padding:0;background:none;transition:transform .25s}
.flip:not(.open):hover{transform:translateY(-6px)}
.flip .in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.flip.open .in{transform:rotateY(180deg)}
.flip .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;overflow:hidden;box-shadow:0 10px 28px #5a2b4044;background:#f6e3ea}
.flip .face img{width:100%;height:100%;object-fit:cover;display:block}
.flip .front{transform:rotateY(180deg)}
.flip.dim{opacity:.35;transform:scale(.94);pointer-events:none}
.flip .cap{position:absolute;left:0;right:0;bottom:-30px;text-align:center;font:bold 14px system-ui;color:#75465e}
.deck.big .flip{width:min(86vw,380px)}
.reveal{display:grid;gap:22px;justify-items:center}
.reveal figure{margin:0;display:grid;gap:8px;justify-items:center}
.reveal figcaption{font:bold 16px system-ui;color:#75465e}
.zoomable{cursor:zoom-in}
.lightbox{position:fixed;inset:0;background:#2b1420e6;z-index:50;display:flex;align-items:center;justify-content:center;padding:12px;overflow:auto}
.lightbox img{max-width:min(100%,1000px);max-height:none;width:100%;height:auto;border-radius:12px;touch-action:pinch-zoom}
.lightbox.fit img{max-height:96vh;width:auto}
.lightbox .x{position:fixed;top:12px;right:12px;border:0;border-radius:999px;width:46px;height:46px;font:bold 22px system-ui;background:#fff;color:#60394b;cursor:pointer}
.lightbox .z{position:fixed;top:12px;left:12px;border:0;border-radius:999px;padding:12px 16px;font:bold 15px system-ui;background:#fff;color:#60394b;cursor:pointer}
.mean{white-space:pre-wrap;font:16px/1.65 system-ui;color:#5a3a4a;background:#fff;border:1px solid #ecc9d7;border-radius:14px;padding:14px;margin:8px 0;text-align:left}
.mean h4{margin:0 0 6px;font:bold 15px system-ui;color:#8c4f6c}
.vipbox{background:linear-gradient(135deg,#75465e,#b86f90 60%,#e6a9c3);color:#fff;border:0}
.vipbox h2,.vipbox .lead,.vipbox p{color:#fff}
.vipbox .btn{background:#fff;color:#75465e}
.horo{white-space:pre-wrap;font-size:19px;line-height:1.65}
/* Admin */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 14px}
.tabs button{border:1px solid #d8b3c2;background:#fff;border-radius:12px;padding:10px 14px;font:bold 15px system-ui;color:#643c50;cursor:pointer}
.tabs button.on{background:#75465e;color:#fff}
table.t{width:100%;border-collapse:collapse;font:14px/1.4 system-ui}
table.t td,table.t th{border-bottom:1px solid #f0d6e0;padding:7px 6px;text-align:left;vertical-align:top}
.adm input,.adm select,.adm textarea{font-size:16px;padding:10px 12px}
.adm textarea{min-height:90px}
.adm label{font-size:15px;margin:12px 0 5px}
.vrow{border:1px solid #ecc9d7;border-radius:14px;padding:6px 12px 12px;margin:10px 0;background:#fffafc}
.imgs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.imgs figure{margin:0;position:relative}
.imgs img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid #e7becf}
.imgs figure button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:999px;border:0;background:#8d2727;color:#fff;cursor:pointer;font:bold 13px system-ui}
.cardrow{display:grid;grid-template-columns:90px 1fr;gap:12px;border-bottom:1px solid #f0d6e0;padding:12px 0}
.cardrow img,.cardrow .noimg{width:90px;aspect-ratio:2/3;object-fit:cover;border-radius:8px;background:#f6e3ea;display:flex;align-items:center;justify-content:center;font:12px system-ui;color:#9a6f84;text-align:center}
details.box{border:1px solid #ecc9d7;border-radius:16px;background:#fff;margin:10px 0;padding:0 14px}
details.box>summary{cursor:pointer;padding:13px 0;font:bold 16px system-ui;list-style:none}
details.box>summary::-webkit-details-marker{display:none}
details.box>summary:before{content:'▸ ';color:#b86f90}
details.box[open]>summary:before{content:'▾ '}
.muted{color:#9a6f84}

.deck .flip.small-card{width:clamp(64px,21vw,128px)}
.flip.picked{outline:3px solid #b86f90;outline-offset:3px;border-radius:14px}
.deck.shuffle .flip{animation:shuf .9s ease}
.deck.shuffle .flip:nth-child(odd){animation-direction:reverse}
@keyframes shuf{0%{transform:translateX(0) rotate(0)}30%{transform:translateX(-24px) rotate(-6deg)}60%{transform:translateX(24px) rotate(6deg)}100%{transform:none}}
.deck:has(.small-card){row-gap:40px}

/* ===== Kartárna / VIP sub-navigation ===== */
.subnavwrap{margin:14px 0 4px}
.subnav{display:flex;flex-wrap:wrap;gap:8px}
.subnav a{flex:1 1 150px;padding:11px 10px;border:1px solid #d8b3c2;border-radius:13px;background:#fff;color:#643c50;font:bold 14px/1.3 system-ui;text-decoration:none;text-align:center}
.subnav a.on{background:linear-gradient(110deg,#75465e,#b86f90);color:#fff;border-color:#75465e}
.backlink{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:12px;background:#f4dce5;color:#60394b;font:bold 15px system-ui;text-decoration:none;border:0;cursor:pointer;margin:0 0 10px}
.backbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}
.backbar .backlink{margin:0}
/* VIP overview tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tile{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e7becf;border-radius:20px;padding:18px;color:#60394b;text-decoration:none;box-shadow:0 6px 18px #8d50631a;transition:transform .2s}
.tile:hover{transform:translateY(-3px)}
.tile b{font:bold 18px Georgia,serif}.tile span{font:15px/1.5 system-ui;color:#6e4a5c}.tile em{font:bold 14px system-ui;color:#8c4f6c;font-style:normal;margin-top:auto}
.planned{background:#fffafc;border:1px dashed #d8b3c2;box-shadow:none}
.planned ul{font:15px/1.6 system-ui;color:#6e4a5c;padding-left:20px;margin:6px 0}
/* ===== Mini vhled ===== */
.spread{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:18px 0;perspective:1400px;position:relative}
@media(min-width:760px){.spread{grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}}
.spread .flip{width:100%;will-change:transform}
.spread .flip .face{border-radius:8px;box-shadow:0 4px 12px #5a2b4033}
@media(min-width:760px){.spread .flip .face{border-radius:11px}}
.spread .flip.picked{outline:3px solid #b86f90;outline-offset:2px;border-radius:9px}
.spread .flip.dim{opacity:.3;transform:none}
.flip .num{position:absolute;top:-7px;left:-7px;z-index:3;min-width:22px;height:22px;border-radius:999px;background:#75465e;color:#fff;font:bold 12px/22px system-ui;text-align:center;box-shadow:0 2px 6px #0003}
.poslist{font:15px/1.6 system-ui;color:#6e4a5c;padding-left:22px;margin:8px 0}
.poslist li.final{font-weight:bold;color:#75465e}
.picks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:8px 0 0;font:15px system-ui;min-height:10px}
.picks li{background:#fff;border:1px solid #e7becf;border-radius:999px;padding:6px 12px}
.picks li.os{background:#fdf3f7}
.picks small{color:#9a6f84}
.question{white-space:pre-wrap;font:18px/1.6 Georgia,serif;background:#fff;border-left:4px solid #b86f90;border-radius:12px;padding:12px 14px;margin:6px 0 12px;overflow-wrap:anywhere}
.question small{display:block;font:bold 13px system-ui;color:#9a6f84;letter-spacing:.5px;text-transform:uppercase;margin-bottom:4px}
.pos{border-top:1px solid #ecc9d7;padding:16px 0 6px}
.pos h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:19px;line-height:1.3}
.posn{flex:0 0 auto;width:32px;height:32px;border-radius:999px;background:#f4dce5;color:#75465e;font:bold 16px/32px system-ui;text-align:center}
.thumbs2{display:flex;flex-wrap:wrap;gap:12px;margin:6px 0 8px}
.thumbs2 figure{margin:0;width:96px;display:grid;gap:4px;justify-items:center;text-align:center}
.thumbs2 img{width:96px;aspect-ratio:2/3;object-fit:cover;border-radius:9px;box-shadow:0 6px 16px #5a2b4033;cursor:zoom-in;display:block}
.thumbs2 figcaption{font:14px/1.3 system-ui;color:#75465e;overflow-wrap:anywhere}
.thumbs2 figcaption small{display:block;color:#9a6f84;font-size:12px}
.osobni{font:15px/1.55 system-ui;color:#5a3a4a;background:#fdf3f7;border-radius:12px;padding:10px 12px;margin:6px 0}
.pos.final{background:linear-gradient(135deg,#fff,#fbe4ee);border:2px solid #b86f90;border-radius:20px;padding:16px;margin-top:16px}
.pos.final .posn{background:#75465e;color:#fff}
.finalbadge{display:inline-block;background:linear-gradient(110deg,#75465e,#b86f90);color:#fff;font:bold 15px system-ui;letter-spacing:1.5px;padding:8px 16px;border-radius:999px;margin-bottom:10px}
/* ===== Zodiac three-card spread: captions in normal flow, never over the next row ===== */
.deck.three{flex-wrap:nowrap}
.deck.three .flip{width:calc((100% - 2 * clamp(8px,2.5vw,22px)) / 3);max-width:250px}
.deck.three .flip .cap{top:calc(100% + 6px);bottom:auto;font-size:13px;line-height:1.25}
.deck.three.capped{margin-bottom:52px}
/* ===== Shop ===== */
.shopbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px}
.shopbar h2{margin:0;flex:1 1 200px}
.cartline>div{min-width:0}
.cartline b{overflow-wrap:anywhere}
.qty{flex-wrap:wrap}
@media(max-width:560px){
  .cartline{grid-template-columns:56px 1fr;row-gap:4px}
  .cartline img{width:56px;height:56px}
  .cartline>b:last-child{grid-column:2;text-align:right;font-size:16px}
}
/* General overflow guards on small screens */
img{max-width:100%}
.card,.mean,.desc{overflow-wrap:anywhere}
@media(max-width:480px){.chips button{padding:8px 12px;font-size:14px}.btn.inline{width:100%}}
.chips a.chip{border:1px solid #d8b3c2;background:#fff;border-radius:999px;padding:8px 14px;font:15px system-ui;color:#643c50;text-decoration:none}
.chips a.chip.on{background:#75465e;color:#fff;border-color:#75465e}
@media(max-width:480px){.chips a.chip{padding:8px 12px;font-size:14px}}
.qty .linkbtn{white-space:nowrap;flex:0 0 auto}
