
.igFeed{background:#fff; color:#141022}
.igSwitch{display:flex; gap:10px; padding:16px 16px 14px; background:#fff}
.igSw{flex:1; border:0; cursor:pointer; padding:0; color:rgba(27,23,48,.6); background:none;
  border-style:solid; border-color:transparent; border-width:15px 16px; min-height:14px;
  border-image-source:var(--fvCream); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center}
.igSw.on{border-image-source:var(--fvFill); color:#1b1730}
.igPost{border-bottom:1px solid rgba(20,16,34,.07); padding-bottom:22px; margin-bottom:22px}
/* Pasii care urmeaza sunt deja in feed, doar mai linistiti. */
.igSoon{opacity:.5}
.igSoon .igSq{pointer-events:none}
.igPost:last-child{border-bottom:0}
.igTop{display:flex; align-items:center; gap:11px; padding:6px 15px 14px}
.igAv{width:38px; height:38px; border-radius:50%; flex:0 0 auto; background-size:cover; background-position:center;
  box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--catA,#a78bfa)}
.igWho{flex:1; min-width:0; line-height:1.25}
.igWho b{display:block; font-family:'Playfair Display',Georgia,serif; font-size:14.5px; color:#141022}
.igWho span{display:block; font-size:11.5px; color:rgba(20,16,34,.5)}
.igDone{flex:0 0 auto; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--catA,#a78bfa); color:#141022}
.igDone svg{width:13px; height:13px}
/* patratul */
.igSq{position:relative; width:100%; aspect-ratio:1/1; overflow:hidden; background:#efeae1}
/* Cadrul inalt: uneltele intregi, respiratia si scanarea, au loc sa respire. */
.igSq.igTall{aspect-ratio:3/4}
/* Uneltele cu multe randuri, ca bilantul, curg pe verticala in interiorul cadrului. */
.igSq.igFlow{aspect-ratio:auto; min-height:420px}
.igFlow .igIn{position:relative; inset:auto; height:auto; overflow:visible;
  padding:26px 18px 24px; justify-content:flex-start; gap:16px}
.igFlow .bigCard{width:100%; box-sizing:border-box; background:rgba(255,255,255,.92);
  border:0; border-radius:18px; box-shadow:0 10px 30px -18px rgba(20,16,34,.5)}
.igFlow .sub{margin:0 !important}
.igTall .igIn{justify-content:flex-start; padding:18px 16px 20px; gap:12px}
.igTall .igIn > *:last-child{margin-bottom:2px}
/* controalele uneltelor primesc acelasi limbaj rotunjit, dar mai compacte */
.igTall .ghost, .igTall .cta{font-size:13px; padding:9px 12px}
.igTall .igHostWrap{max-width:100%}
.igTall #bwShape{max-width:172px; margin:0 auto}
.igTall #bwShape svg{width:100%; height:auto; display:block}
.igTall #ritBwHost{width:100%}
.igTall .bwCtl, .igTall .bwBtns{display:flex; gap:8px; justify-content:center; flex-wrap:wrap}
.igTall .igPlate{margin-top:2px}
.igSq .igBg{position:absolute; inset:0; background-size:cover; background-position:center}
.igSq .igBg::after{content:''; position:absolute; inset:0;
  background:none}
.igIn{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:26px 22px; text-align:center; gap:18px; overflow-y:auto; overflow-x:hidden;
  -webkit-overflow-scrolling:touch}
.igIn::-webkit-scrollbar{display:none}
.igIn > *{max-width:100%; flex:0 0 auto}
.igQ{font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:20px; line-height:1.3; color:#141022}
.igSub{font-size:12.5px; line-height:1.5; color:rgba(20,16,34,.7)}
.igAns{font-family:'Playfair Display',Georgia,serif; font-size:20px; line-height:1.4; color:#141022;
  background:rgba(255,255,255,.88); border-radius:20px; padding:20px 20px; width:100%; max-width:300px;
  box-sizing:border-box; box-shadow:0 10px 30px -18px rgba(20,16,34,.5)}
.igQ, .igSub{background:rgba(255,255,255,.72); border-radius:18px; padding:15px 17px; width:100%; max-width:300px;
  box-sizing:border-box}
.igPlate{width:100%; max-width:300px; box-sizing:border-box; background:rgba(255,255,255,.9);
  border-radius:20px; padding:16px 15px; box-shadow:0 10px 30px -16px rgba(20,16,34,.45);
  display:flex; flex-direction:column; gap:13px}
.igPlate input{width:100%; box-sizing:border-box; border:1px solid rgba(20,16,34,.16); border-radius:12px;
  padding:12px 13px; font-family:'Montserrat',system-ui,sans-serif; font-size:14.5px; color:#141022; background:#fff;
  outline:none; -webkit-appearance:none}
.igPlate input:focus{border-color:var(--catA,#a78bfa)}
.igBtn{width:100%; box-sizing:border-box; border:0; cursor:pointer; color:#1b1730; padding:0;
  border-style:solid; border-color:transparent; border-width:17px 18px; min-height:14px; background:none;
  border-image-source:var(--fvFill); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:16px;
  display:flex; align-items:center; justify-content:center; -webkit-tap-highlight-color:transparent}
.igBtn.ghostB{border-image-source:var(--fvCream); color:rgba(27,23,48,.7); font-size:14px}
.igBtn:active{transform:scale(.985)}
.igChips{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:2px 0}
.igChip{border-style:solid; border-color:transparent; border-radius:0; cursor:pointer; padding:0;
  border-width:16px 17px; min-height:13px; background:none;
  border-image-source:var(--fvCream); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:13.5px; color:rgba(27,23,48,.82);
  display:inline-flex; align-items:center}
.igChip:active{transform:scale(.96)}
/* carusel orizontal */
.igCar{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  scrollbar-width:none}
.igCar::-webkit-scrollbar{display:none}
.igCar > .igSlide{flex:0 0 100%; scroll-snap-align:center; position:relative}
.igDotsRow{display:flex; gap:6px; justify-content:center; padding:14px 0 2px}
.igDotsRow i{width:6px; height:6px; border-radius:50%; background:rgba(20,16,34,.18)}
.igDotsRow i.on{background:var(--catA,#a78bfa)}
.igEyebrow{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(20,16,34,.5)}
.igCount{font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:rgba(20,16,34,.5)}
.igWhyTxt{font-family:'Playfair Display',Georgia,serif; font-size:18px; line-height:1.58; color:#141022;
  background:rgba(255,255,255,.88); border-radius:20px; padding:21px 20px; width:100%; max-width:300px;
  box-sizing:border-box}
.igCap{padding:8px 15px 0; font-size:13px; line-height:1.5; color:rgba(20,16,34,.68)}
.igCap b{color:#141022; font-weight:600}
.igHostWrap{width:100%; max-width:300px; box-sizing:border-box}
#ritOv.ig .bigCard{background:#fff; border:1px solid rgba(20,16,34,.1); color:#141022}
#ritOv.ig .sub, #ritOv.ig p{color:rgba(20,16,34,.72)}
#ritOv.ig .ghost{background:rgba(20,16,34,.05); border:1px solid rgba(20,16,34,.12); color:#141022}
#ritOv.ig .cta{color:#1b1730}
#ritOv.ig .igTail{padding:14px 16px 26px}
.igEnd{padding:34px 18px 18px; text-align:center}
.igEnd b{font-family:'Playfair Display',Georgia,serif; font-size:22px; display:block; color:#141022}
.igEnd p{margin:8px 0 0; font-size:14px; line-height:1.55; color:rgba(20,16,34,.72)}
#ritOv{position:fixed; inset:0; z-index:380; background:#0c0a1e; overflow-y:auto; -webkit-overflow-scrolling:touch;
  padding:16px 18px calc(44px + env(safe-area-inset-bottom,0px)); display:none}
#ritOv.on{display:block; animation:reveal .35s cubic-bezier(.22,.7,.3,1) both}
#ritOv .roHead{display:flex; align-items:center; gap:10px; margin-bottom:10px}
#ritOv .roHead h2{font-family:Georgia,'Noto Serif','Times New Roman',serif; font-weight:600; font-size:24px; margin:0; flex:1; color:var(--white)}
#ritOv .roX{width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.05); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0}
.mfAdd:active{border-color:var(--catB); color:var(--catB)}

/* ============================================================
   FETRU PENTRU TOATE BUTOANELE
   Un singur bloc, pus la finalul stilurilor, care imbraca butoanele
   vechi in aceleasi materiale ca restul aplicatiei. Nu schimba
   comportamentul, doar aspectul.
   ============================================================ */
.cta, .reinf{
  box-sizing:border-box; border:0; background:none !important; box-shadow:none !important;
  border-style:solid; border-color:transparent; border-width:17px 18px; min-height:52px;
  border-image-source:var(--fvFill); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  border-radius:0; padding:0; color:#1b1730 !important;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:16px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  -webkit-tap-highlight-color:transparent}
.ghost{
  box-sizing:border-box; border:0; background:none !important; box-shadow:none !important;
  border-style:solid; border-color:transparent; border-width:17px 18px; min-height:52px;
  border-image-source:var(--fvCream); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  border-radius:0; padding:0; color:rgba(27,23,48,.78) !important;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:14.5px;
  display:flex; align-items:center; justify-content:center; text-align:center;
  -webkit-tap-highlight-color:transparent}
.cta:active, .reinf:active, .ghost:active{transform:scale(.985)}
/* pastilele mici */
.bChip, .chip{
  box-sizing:border-box; border:0; background:none !important; box-shadow:none !important;
  border-style:solid; border-color:transparent; border-width:15px 16px; min-height:44px;
  border-image-source:var(--fvCream); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  border-radius:0; padding:0; color:rgba(27,23,48,.8) !important;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:13px;
  display:inline-flex; align-items:center; justify-content:center;
  -webkit-tap-highlight-color:transparent}
.bChip.on, .chip.on{border-image-source:var(--fvFill); color:#1b1730 !important}
.bChip:active, .chip:active{transform:scale(.97)}
/* optiunile lungi din Limbajul iubirii */
.llOpt{
  box-sizing:border-box; border:0; background:none !important; box-shadow:none !important;
  border-style:solid; border-color:transparent; border-width:16px 17px; min-height:52px;
  border-image-source:var(--fvCream); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  border-radius:0; padding:0; margin-bottom:9px; width:100%;
  color:rgba(27,23,48,.82) !important; font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.35}
/* butoanele rotunde */
.rateBtn, .anIcons .ic, #backBtn{
  border:0 !important; background:none !important; box-shadow:none !important; backdrop-filter:none !important;
  background-image:var(--fvRound) !important; background-size:100% 100% !important;
  background-repeat:no-repeat !important; background-position:center !important;
  color:rgba(27,23,48,.8) !important; -webkit-tap-highlight-color:transparent}
.rateBtn{width:54px; height:54px; font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:20px}
.anIcons .ic{width:56px; height:56px; display:flex; align-items:center; justify-content:center}
.anIcons .ic img{width:24px; height:24px; filter:brightness(0) saturate(100%) opacity(.72)}
#backBtn{width:40px; height:40px; color:#1b1730 !important; opacity:.94}
#backBtn svg{stroke:#1b1730}
.rateBtn:active, .anIcons .ic:active, #backBtn:active{transform:scale(.95)}
/* tastatura numerica */
.numpad button{
  box-sizing:border-box; border:0; background:none !important; box-shadow:none !important;
  border-style:solid; border-color:transparent; border-width:15px 16px; min-height:50px;
  border-image-source:var(--fvCream); border-image-slice:64 fill; border-image-repeat:stretch; border-image-width:1;
  border-radius:0; padding:0; color:#1b1730 !important;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:21px;
  display:flex; align-items:center; justify-content:center}
/* toate tastele sunt crem: singurul buton colorat ramane Dezvaluie mesajul.
   Cifrele si semnele sunt Playfair bold, centrate optic in taste. */
.numpad button, .numpad .npx{
  border-image-source:var(--fvCream) !important;
  font-family:'Playfair Display',Georgia,serif !important; font-weight:700 !important;
  color:#1b1730 !important; line-height:1 !important}
.numpad button{font-size:21px !important}
.numpad .npx{font-size:19px !important}
/* Playfair aseaza cifrele putin sub mijlocul optic, deci le ridicam un pic */
.numpad button{padding-bottom:2px !important}
/* Spatiu are text lung, deci sta mai mic si cu spatiere */
.numpad .npx[data-i="npSpace"]{font-size:15px !important; letter-spacing:.08em; padding-bottom:0 !important}
/* doua puncte stau prea jos in Playfair; il ridicam din pozitie, nu din padding,
   ca sa nu creasca inaltimea tastei */
.numpad .npx[onclick*="':'"]{font-size:24px !important; padding-bottom:2px !important;
  align-items:flex-start !important; padding-top:0 !important}
.numpad .npx[onclick*="':'"]{position:relative; top:-4px}
/* toate tastele au exact aceeasi inaltime */
.numpad button{height:52px !important; min-height:52px !important}
/* sageata de stergere nu exista in Playfair, deci ramane pe fontul de sistem */
.numpad .npx[onclick*="npDel"]{font-family:system-ui,sans-serif !important;
  font-size:18px !important; padding-bottom:0 !important}
.numpad button:active{transform:scale(.96)}

/* butoanele lungi de optiune: respiratie, poduri, mementouri */
.bOpt, .yOpt{
  box-sizing:border-box; background:none !important; box-shadow:none !important;
  border-style:solid !important; border-color:transparent !important; border-width:16px 17px !important; min-height:52px;
  border-image-source:var(--fvCream) !important; border-image-slice:64 fill !important;
  border-image-repeat:stretch !important; border-image-width:1 !important;
  border-radius:0 !important; padding:0 !important; width:100%; margin-bottom:9px;
  color:rgba(27,23,48,.82) !important; font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.35;
  -webkit-tap-highlight-color:transparent}
.bOpt.on, .yOpt.on{border-image-source:var(--fvFill) !important; color:#1b1730 !important}
.bOpt b, .yOpt b{color:rgba(27,23,48,.6) !important}
.bOpt:active, .yOpt:active{transform:scale(.985)}
/* butonasele rotunde din coltul cardurilor */
.tmBtn, .ziB{
  border:0 !important; background:none !important;
  background-image:var(--fvRound) !important; background-size:100% 100% !important;
  background-repeat:no-repeat !important; background-position:center !important;
  color:rgba(27,23,48,.8) !important}
.tmBtn svg, .ziB svg{stroke:#1b1730}

/* ultimele butoane: alegerea modului la Carduri si sagetile din Statistici */
.csBig button{
  box-sizing:border-box; background:none !important; box-shadow:none !important;
  border-style:solid !important; border-color:transparent !important; border-width:16px 17px !important; min-height:56px;
  border-image-source:var(--fvCream) !important; border-image-slice:64 fill !important;
  border-image-repeat:stretch !important; border-image-width:1 !important;
  border-radius:0 !important; padding:0 !important; width:100%; margin-bottom:9px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  color:rgba(27,23,48,.82) !important; -webkit-tap-highlight-color:transparent}
.csBig button b{font-family:'Playfair Display',Georgia,serif; font-size:15px; color:#1b1730 !important}
.csBig button span{font-size:12.5px; line-height:1.4; color:rgba(27,23,48,.66) !important}
.csBig button:active{transform:scale(.985)}
.pvBtn{
  border:0 !important; background:none !important;
  background-image:var(--fvRound) !important; background-size:100% 100% !important;
  background-repeat:no-repeat !important; background-position:center !important;
  width:36px; height:36px; color:rgba(27,23,48,.8) !important}
.pvBtn svg{stroke:#1b1730}

.hsOpt.deNum{min-width:52px; font-size:17px}

.bwDoneSq{min-height:0 !important; aspect-ratio:auto}
.bwDoneSq .hsIn{padding:28px 22px; gap:8px; justify-content:center}


/* Audio: butonul rotund din rand, in fetru */
.muDl{border:0 !important; background:none !important;
  background-image:var(--fvRound) !important; background-size:100% 100% !important;
  background-repeat:no-repeat !important; background-position:center !important;
  width:36px; height:36px; color:rgba(27,23,48,.8) !important}
.muDl svg{stroke:#1b1730}

.zoRevSq .hsIn{padding:24px 20px; gap:10px}
.zoRevSq .hsRevP p{margin:0 0 9px; font-size:14px; line-height:1.62}
.zoRevSq .hsRevP p:last-child{margin-bottom:0}
.zoRevSq .zoShOne{margin-top:auto; align-self:stretch}
.zoRevSq .zoMr{display:flex; justify-content:space-between; gap:10px; padding:7px 0; font-size:13.5px}
.zoRevSq .zoAct{margin-top:8px}
.zoRevSq .zoAct b{display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; opacity:.6}
.zoRevSq .zoLucky{display:flex; flex-direction:column; gap:8px}
.zoRevSq .zoLucky .m{display:flex; justify-content:space-between; gap:10px; background:rgba(255,255,255,.8);
  border-radius:12px; padding:9px 12px; font-size:13.5px}

.ntCar .hsSlide{align-items:stretch}
.ntCar .bigCard{margin-top:0 !important; width:100%}

.hsIn2{width:100%; border:0; outline:none; background:none; font-family:'Playfair Display',Georgia,serif;
  font-weight:700; font-size:16px; color:#141022; text-align:center}
.hsIn2::placeholder{color:rgba(20,16,34,.42); font-weight:400}

.vbTopSq{min-height:0 !important; aspect-ratio:auto}
.vbTopSq .hsIn{padding:24px 20px; gap:12px; justify-content:center}

.hsTa2{width:100%; min-height:150px; border:0; outline:none; background:none; resize:none;
  font-family:'Montserrat',system-ui,sans-serif; font-size:14.5px; line-height:1.62; color:#141022}
.hsTa2::placeholder{color:rgba(20,16,34,.4)}

.rfRevSq{min-height:0 !important; aspect-ratio:auto}
.rfRevSq .hsIn{padding:26px 22px; gap:10px; justify-content:center}

/* Cartile de conversatie: alegerile pe pastile de fetru */
.csRow button, .csCatCol button{
  box-sizing:border-box; background:none !important; box-shadow:none !important;
  border-style:solid !important; border-color:transparent !important;
  border-width:15px 16px !important; border-radius:0 !important; min-height:48px;
  border-image-source:var(--fvCream) !important; border-image-slice:64 fill !important;
  border-image-repeat:stretch !important; border-image-width:1 !important;
  padding:0 !important; color:rgba(27,23,48,.8) !important;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:14px;
  display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.3;
  -webkit-tap-highlight-color:transparent}
.csRow button.on, .csCatCol button.on{border-image-source:var(--fvFill) !important; color:#1b1730 !important}
.csCatCol button{margin-bottom:8px; width:100%}
.csRow button:active, .csCatCol button:active{transform:scale(.97)}

/* butoanele de navigare din ghidul de pe Acasa */
.hgGo{
  box-sizing:border-box; background:none !important; box-shadow:none !important;
  border-style:solid !important; border-color:transparent !important;
  border-width:14px 15px !important; border-radius:0 !important; min-height:48px;
  border-image-source:var(--fvCream) !important; border-image-slice:64 fill !important;
  border-image-repeat:stretch !important; border-image-width:1 !important;
  padding:0 !important; color:rgba(27,23,48,.82) !important;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:13px;
  -webkit-tap-highlight-color:transparent}