:root{--bg:#f8f3ec;--card:#fffdfa;--ink:#171714;--muted:#78746f;--line:#e8e0d7;--green:#1d302b;--soft:#f2ece4;--gold:#a88759;--done:#3a8a5b;--partial:#c98a32;--danger:#cc4545}
*{box-sizing:border-box}html,body{margin:0;background:#ebe5dc;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh;display:flex;justify-content:center}.phone-shell{width:min(100%,430px);min-height:100vh;background:linear-gradient(180deg,#fbf8f3,#f7f1e9);position:relative;overflow:hidden;box-shadow:0 0 48px rgba(36,29,22,.14)}button,input,textarea{font:inherit}.screen{display:none;min-height:100vh}.screen.active{display:block}.main-screen{padding-bottom:76px}.view{display:none;padding:18px 18px 22px}.view.active{display:block;animation:viewIn .25s ease both}.app-header{height:72px;padding:calc(env(safe-area-inset-top) + 11px) 16px 10px;display:grid;grid-template-columns:36px 1fr 36px;align-items:end;background:rgba(251,248,243,.94);border-bottom:1px solid rgba(232,224,215,.9);position:sticky;top:0;z-index:15;backdrop-filter:blur(14px)}.header-brand{text-align:center;font-family:Georgia,serif;font-size:15px;letter-spacing:.08em}.header-brand span{display:block;font:600 6px/1.2 Inter,sans-serif;letter-spacing:.28em;color:#9c8668;margin-top:2px}.header-back,.header-icon{width:34px;height:34px;border:0;background:transparent;border-radius:50%;font-size:21px;color:#4a4640}.header-back.hidden{visibility:hidden}.page-title{text-align:center;margin:2px 0 16px}.page-title h2{font-family:Georgia,serif;font-size:24px;margin:0}.page-title p{font-size:11px;color:var(--muted);line-height:1.5;margin:6px auto 0;max-width:300px}.btn{width:100%;border:0;border-radius:11px;padding:14px 16px;font-weight:700}.btn.primary{background:var(--green);color:#fff}.btn.send-plan{margin-top:10px;background:#fff;border:1px solid var(--green);color:var(--green)}.link-btn{display:block;width:100%;border:0;background:transparent;color:#8a7860;padding:13px}.progress{height:7px;border-radius:999px;background:#e7e1d8;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--green);transition:width .35s ease}.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%) translateY(12px);background:#16241f;color:#fff;border-radius:999px;padding:11px 15px;font-size:11px;opacity:0;pointer-events:none;transition:.25s;z-index:80}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* login */
.login-screen{background:#f6efe7}.login-photo{height:48vh;min-height:335px;position:relative;overflow:hidden}.login-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(.96)}.login-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(14,13,11,.48))}.login-logo{position:absolute;left:0;right:0;bottom:32px;z-index:2;text-align:center;color:#fff}.login-logo strong{display:block;font-family:Georgia,serif;font-size:29px;letter-spacing:.08em;font-weight:500}.login-logo span{font-size:8px;letter-spacing:.30em}.login-content{padding:18px 24px 28px;text-align:center}.login-content h1{font-family:Georgia,serif;font-size:25px;margin:0 0 5px}.login-content>p{margin:0 0 18px;font-size:11px;color:var(--muted)}.input-row{display:grid;grid-template-columns:30px 1fr;align-items:center;background:rgba(255,255,255,.76);border:1px solid #e7ddd2;border-radius:10px;margin-top:9px;padding:0 10px}.input-row span{color:#77736d}.input-row input{border:0;background:transparent;padding:12px 5px;outline:none}.login-content .primary{margin-top:12px}.login-footer{font-family:Georgia,serif;font-style:italic;color:#8b7b68;margin-top:9px;font-size:12px}
/* home */
.home-greeting h2{font-family:Georgia,serif;font-size:24px;margin:2px 0 4px}.home-greeting p{margin:0 0 14px;color:#5f5b55;font-size:12px}.event-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 5px 18px rgba(50,40,30,.04)}.event-card img{display:block;width:100%;height:130px;object-fit:cover}.event-card>div{text-align:center;padding:10px}.event-card strong{font-family:Georgia,serif;font-size:14px}.event-card span{display:block;font-size:10px;color:#7c766e;margin-top:5px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.home-grid button{min-height:94px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#1d1c19;box-shadow:0 4px 16px rgba(50,40,30,.03);transition:transform .18s ease}.home-grid button:active{transform:scale(.985)}.home-grid span{font-size:23px}.home-grid strong{font-size:12px;line-height:1.2}.home-status{margin-top:13px;padding:14px;border:1px solid var(--line);background:rgba(255,255,255,.68);border-radius:12px}.home-status>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.home-status small{font-size:8px;letter-spacing:.14em;color:#8d816f}.home-status strong{font-size:12px}.signature{text-align:center;font-family:Georgia,serif;font-style:italic;color:#8d7b67;margin-top:14px;font-size:12px}
/* wedding */
.wedding-hero{border-radius:12px;overflow:hidden;background:var(--card);border:1px solid var(--line)}.wedding-hero img{width:100%;height:138px;object-fit:cover;display:block}.wedding-hero>div{text-align:center;padding:13px}.wedding-hero h3{font-family:Georgia,serif;font-size:21px;margin:0 0 4px}.wedding-hero p{margin:0;font-size:11px}.wedding-hero span{display:block;font-size:10px;color:#6f6a64;margin-top:5px}.info-list{margin-top:10px;display:grid;gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.info-list button,.planning-list button,.questionnaire-list button{width:100%;border:0;background:rgba(255,255,255,.78);padding:13px 13px;display:grid;grid-template-columns:32px 1fr 16px;align-items:center;text-align:left;gap:8px;border-bottom:1px solid var(--line)}.info-list button:last-child,.planning-list button:last-child,.questionnaire-list button:last-child{border-bottom:0}.info-icon{font-size:19px}.info-list small{display:block;font-size:9px;color:#77716a}.info-list strong{display:block;font-size:12px;margin-top:2px}.info-list b{font-size:18px;font-weight:400;color:#8d867e}.contacts-card{margin:10px 0 12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.78)}.contact-title{margin-bottom:8px;font-size:12px}.contacts-card p{margin:4px 0;font-size:11px}.contacts-card p:last-of-type{color:#777169}.text-action{margin-top:8px;border:0;background:transparent;color:#92784f;padding:0;font-size:10px}
/* music */
.music-list{display:grid;gap:8px}.music-row{width:100%;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.78);padding:8px;display:grid;grid-template-columns:52px 1fr 18px;gap:10px;align-items:center;text-align:left}.music-row img{width:52px;height:52px;object-fit:cover;border-radius:9px}.music-row strong{display:block;font-size:12px}.music-row small{display:block;font-size:9px;color:#7d7770;margin-top:3px}.music-row .state{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;font-size:7px;letter-spacing:.08em;text-transform:uppercase}.state.done{background:#e6f1e9;color:#39784f}.state.partial{background:#fff0db;color:#9a6b28}.state.empty{background:#efebe6;color:#80786f}.music-row>b{font-size:18px;font-weight:400;color:#8b847c}.music-specials{margin-top:13px;display:grid;gap:8px}.music-specials button{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.78);padding:12px;display:grid;grid-template-columns:40px 1fr 18px;gap:10px;align-items:center;text-align:left}.round{width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.heart{background:#fde9e7;color:#d54747}.blocked{background:#fff0ee;color:#d95b54}.music-specials strong{display:block;font-size:12px}.music-specials small{font-size:9px;color:#7c766f}.music-specials b{font-size:18px;font-weight:400;color:#8b847c}
/* planning + questionnaire */
.planning-list,.questionnaire-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:12px}.planning-list .picon{font-size:19px}.planning-list strong,.questionnaire-list strong{display:block;font-size:12px}.planning-list small,.questionnaire-list small{display:block;margin-top:2px;color:#7b756d;font-size:9px}.q-state{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:11px}.q-state.done{background:#3c9b63;color:#fff}.q-state.partial{background:#e9a348;color:#fff}.q-state.empty{border:1px solid #cfc7be;color:#a49a91}.question-progress{margin-bottom:12px}.question-progress strong{display:block;font-size:11px;margin-top:7px}.questionnaire-list button{grid-template-columns:1fr 28px}.questionnaire-list button>div:first-child{grid-column:1}.questionnaire-list button>.q-state{grid-column:2}.questionnaire-list button b{display:none}
/* docs */
.tabs{display:flex;gap:6px;margin-bottom:12px}.tabs button{border:0;background:#ece7e0;color:#66605a;border-radius:999px;padding:6px 10px;font-size:9px}.tabs button.active{background:var(--green);color:#fff}.documents-list{display:grid;gap:7px}.documents-list button{border:1px solid var(--line);background:rgba(255,255,255,.78);border-radius:10px;padding:10px;display:grid;grid-template-columns:38px 1fr 18px;align-items:center;gap:9px;text-align:left}.pdf{width:34px;height:34px;border-radius:8px;background:#f9e2e2;color:#c84444;display:grid;place-items:center;font-size:8px;font-weight:800}.documents-list strong{display:block;font-size:11px}.documents-list small{display:block;color:#7b756f;font-size:9px;margin-top:2px}.documents-list b{font-size:18px;font-weight:400}
/* notifications */
.notifications-list article{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:14px 2px;border-bottom:1px solid var(--line)}.notifications-list article:last-child{border-bottom:0}.n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px}.n.red{background:#ffe7e5;color:#d94646}.n.gray{background:#ece9e4;color:#716d68}.n.green{background:#e4f3e8;color:#3b8d57}.n.orange{background:#fff0dd;color:#cf8429}.notifications-list strong{font-size:11px}.notifications-list p{font-size:10px;line-height:1.45;color:#6e6963;margin:4px 0 0}.notifications-list small{font-size:8px;color:#8e8880}
/* calendar */
.calendar-card{text-align:center;padding:24px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.78)}.calendar-card small{font-size:8px;letter-spacing:.15em;color:#8b806f}.calendar-card strong{display:block;font-family:Georgia,serif;font-size:27px;margin:7px 0 4px}.calendar-card span{font-size:11px;color:#77716a}.timeline{margin-top:12px;border-left:1px solid #d8d0c8;margin-left:25px}.timeline article{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:9px 0 13px 13px;position:relative}.timeline article:before{content:'';position:absolute;left:-4px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--green)}.timeline b{font-size:10px;color:#877963}.timeline strong{display:block;font-size:12px}.timeline span{font-size:9px;color:#7d7770}
/* profile */
.profile-head{text-align:center;padding:20px 0 16px}.profile-head img{width:92px;height:92px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.05)}.profile-head h3{font-family:Georgia,serif;font-size:21px;margin:9px 0 3px}.profile-head p{font-size:10px;color:#7b756e;margin:0}.profile-links{border:1px solid var(--line);border-radius:12px;overflow:hidden}.profile-links button{width:100%;border:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.78);padding:13px;display:grid;grid-template-columns:27px 1fr 15px;gap:8px;text-align:left;align-items:center}.profile-links button:last-child{border-bottom:0}.profile-links strong{font-size:11px}.profile-links b{font-size:17px;font-weight:400;color:#8b847c}.wa{color:#22a75a}.logout{width:100%;margin-top:12px;border:1px solid #f1d5d5;background:#fffafa;color:#d44b4b;border-radius:10px;padding:13px;text-align:left}
/* bottom nav */
.bottom-nav{position:fixed;bottom:0;width:min(100%,430px);height:72px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(251,248,243,.97);border-top:1px solid var(--line);backdrop-filter:blur(14px);z-index:20}.bottom-nav button{border:0;background:transparent;color:#8a847d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bottom-nav span{font-size:18px}.bottom-nav small{font-size:8px}.bottom-nav button.active{color:#182a25}.bottom-nav button.active span{font-weight:800}
/* sheet */
.sheet{display:none;position:fixed;inset:0;z-index:50}.sheet.open{display:block}.sheet-backdrop{position:absolute;inset:0;background:rgba(26,22,18,.28);backdrop-filter:blur(3px)}.sheet-panel{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,430px);max-height:88vh;overflow:auto;background:#fbf8f3;border-radius:24px 24px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom));animation:sheetUp .28s ease both}.sheet-handle{width:42px;height:4px;background:#d6cec5;border-radius:999px;margin:0 auto 14px}.sheet-head{margin-bottom:14px}.sheet-head small{font-size:8px;letter-spacing:.16em;color:#9b835f}.sheet-head h3{font-family:Georgia,serif;font-size:24px;margin:5px 0 5px}.sheet-head p{font-size:10.5px;line-height:1.5;color:#79736b;margin:0}.sheet-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.sheet-list button{width:100%;border:0;border-bottom:1px solid var(--line);background:#fffdfa;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;align-items:center}.sheet-list button:last-child{border-bottom:0}.sheet-list strong{display:block;font-size:11px}.sheet-list small{display:block;font-size:9px;color:#7b756d;margin-top:2px}.sheet-list em{font-style:normal;font-size:8px;border-radius:999px;padding:4px 7px}.sheet-list em.done{background:#e6f1e9;color:#39784f}.sheet-list em.partial{background:#fff0db;color:#9a6b28}.sheet-list em.empty{background:#efebe6;color:#80786f}.field{margin-top:11px}.field label{display:block;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8f7b60;margin-bottom:6px}.field input,.field textarea{width:100%;border:1px solid #e1d9d1;background:#fff;border-radius:10px;padding:12px;outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus{border-color:#aa8d63;box-shadow:0 0 0 3px rgba(170,141,99,.09)}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.sheet-actions.single{grid-template-columns:1fr}.sheet-actions button{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.sheet-actions .primary{background:var(--green);color:#fff;border-color:var(--green)}.optional-note{font-size:10px;color:#7d7469;background:#f1ebe3;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:10px}.layout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.layout-grid button{height:110px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:8px;position:relative;overflow:hidden}.layout-grid button:before{content:'';position:absolute;inset:0 0 35px}.layout-grid button[data-layout="ouro"]:before{background:linear-gradient(145deg,#f1e2be,#c6a25a)}.layout-grid button[data-layout="preto"]:before{background:linear-gradient(145deg,#292521,#0e0d0c)}.layout-grid button[data-layout="branco"]:before{background:linear-gradient(145deg,#fff,#eae7e2)}.layout-grid strong{position:relative;font-size:10px}.layout-grid button.selected{outline:2px solid var(--green)}
@keyframes viewIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes sheetUp{from{opacity:0;transform:translateX(-50%) translateY(30px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(min-width:700px){body{padding:24px}.phone-shell{border-radius:30px}.bottom-nav{border-radius:0 0 30px 30px}.sheet-panel{bottom:24px;border-radius:24px;max-height:80vh}}


/* V15 premium glamour refinements */
:root{
  --bg:#f7f2eb;
  --paper:#fffdfa;
  --paper-2:#fcf8f2;
  --line-soft:rgba(220,210,198,.85);
  --gold:rgba(176,142,88,.95);
  --gold-soft:rgba(176,142,88,.14);
  --ink:#1e1b17;
  --ink-soft:#7b746d;
  --green-deep:#162621;
  --green-soft:#243b33;
}
body{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.65) 0, rgba(255,255,255,0) 28%),
    linear-gradient(180deg,#f1e9df 0%, #f8f3ec 22%, #fbf8f4 60%, #f2ebe2 100%)!important;
  color:var(--ink);
}
.phone-shell{
  background:linear-gradient(180deg,#fffcf8 0%, #fbf7f1 100%)!important;
  box-shadow:0 28px 80px rgba(33,25,17,.12), inset 0 1px 0 rgba(255,255,255,.55);
}
.phone-shell:before{
  content:'';position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(176,142,88,.6),transparent);z-index:2;
}
.screen{background:transparent}
/* header */
.app-header{
  background:rgba(251,247,241,.78)!important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(223,213,200,.72);
}
.header-brand{letter-spacing:.11em;font-size:14px}
.header-brand span{color:#a08763;letter-spacing:.28em}
.header-back,.header-icon{
  background:rgba(255,255,255,.82);
  border:1px solid var(--line-soft);
  box-shadow:0 8px 18px rgba(30,24,18,.04);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.header-back:active,.header-icon:active{transform:scale(.97)}
/* generic */
.view.active.animate-in{animation:viewFade .4s cubic-bezier(.2,.75,.2,1) both}
.page-title{margin:4px 0 16px;padding:0 2px}
.page-title h2{font-size:30px;letter-spacing:-.02em}
.page-title p{max-width:290px;color:#8a8278;font-size:11px;line-height:1.55}
.btn, .home-grid button, .music-row, .music-specials button, .planning-list button, .questionnaire-list button, .profile-links button, .documents-list button, .info-list button{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .25s ease, opacity .25s ease;
}
.btn:active, .home-grid button:active, .music-row:active, .music-specials button:active, .planning-list button:active, .questionnaire-list button:active, .profile-links button:active, .documents-list button:active, .info-list button:active{transform:scale(.992)}
.btn.primary{
  background:linear-gradient(145deg,#10201b 0%, #20362f 60%, #0f1d19 100%)!important;
  box-shadow:0 12px 26px rgba(19,33,28,.18);
}
.btn.send-plan{
  background:linear-gradient(145deg,#f8efe2 0%, #fffdfa 100%);
  border:1px solid rgba(190,166,126,.65);
  color:#785f35;
  box-shadow:0 10px 22px rgba(39,28,16,.05);
}
.progress{background:#ebe4db!important;overflow:hidden}
.progress i{
  background:linear-gradient(90deg,#10201b 0%, #345246 50%, #b08e58 100%)!important;
  transition:width .55s cubic-bezier(.2,.75,.2,1);
  box-shadow:0 0 12px rgba(176,142,88,.18);
}
/* login */
.login-screen{background:linear-gradient(180deg,#fbf7f1 0%, #f6efe5 100%)}
.login-photo{border-radius:0 0 34px 34px;overflow:hidden;position:relative;box-shadow:0 16px 34px rgba(33,25,17,.08)}
.login-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,18,11,.10),rgba(26,18,11,.30));pointer-events:none}
.login-photo img{transform:scale(1.02);filter:saturate(1.03)}
.login-logo{z-index:1;text-shadow:0 10px 24px rgba(0,0,0,.22)}
.login-content{padding-top:22px}
.login-content h1{font-size:34px;letter-spacing:-.02em}
.login-content p{color:#857d73}
.input-row{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(223,213,200,.84)!important;
  box-shadow:0 10px 22px rgba(34,24,14,.03);
}
.input-row:focus-within{border-color:rgba(176,142,88,.75)!important;box-shadow:0 0 0 4px rgba(176,142,88,.09),0 12px 24px rgba(34,24,14,.04)}
.link-btn{color:#8d744a}
.login-footer{color:#8e867c}
/* home */
.home-greeting h2{font-size:28px;letter-spacing:-.02em}
.home-greeting p{color:#8a837a}
.event-card{
  position:relative;overflow:hidden;border-radius:20px!important;padding:0!important;
  background:linear-gradient(180deg,#fff,#f8f2e8)!important;
  box-shadow:0 18px 42px rgba(33,25,17,.08);
  border:1px solid rgba(223,213,200,.84)!important;
}
.event-card:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(176,142,88,.5),transparent)}
.event-card img{height:154px!important;filter:saturate(1.02)}
.event-card div{padding:14px 14px 16px}
.event-card strong{font-family:Georgia,serif;font-size:18px}
.event-card span{color:#7d766e}
.home-grid{gap:10px!important}
.home-grid button{
  position:relative;overflow:hidden;border-radius:18px!important;padding:15px 13px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(251,247,241,.88))!important;
  box-shadow:0 12px 26px rgba(33,25,17,.04);
}
.home-grid button:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(176,142,88,.4),transparent)}
.home-grid button span{width:38px;height:38px;border-radius:14px;background:linear-gradient(180deg,#f8f0e4,#fff);border:1px solid rgba(223,213,200,.84);display:grid;place-items:center;color:#9b7d4b;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.home-grid button strong{font-size:12px;line-height:1.3}
.home-grid button:hover{box-shadow:0 16px 30px rgba(33,25,17,.07)}
.home-status{
  margin-top:14px!important;background:linear-gradient(180deg,#fffdfa 0%, #f7f0e6 100%)!important;
  border:1px solid rgba(223,213,200,.84)!important;border-radius:16px!important;padding:14px!important;
  box-shadow:0 12px 24px rgba(33,25,17,.03);
}
.signature{margin-top:14px;color:#887f75;font-size:11px}
.home-luxe-note{margin-top:8px;color:#a08251;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
/* wedding */
.wedding-hero,.contacts-card,.calendar-card,.profile-links,.planning-list,.questionnaire-list,.documents-list button,.music-row,.music-specials button,.info-list button,.profile-head,.calendar-card{
  box-shadow:0 12px 24px rgba(33,25,17,.03);
}
.wedding-hero{
  border-radius:20px!important;background:linear-gradient(180deg,#fff,#f8f2e8)!important;border:1px solid rgba(223,213,200,.84)!important;
}
.wedding-hero img{height:150px;border-radius:18px 18px 0 0;object-fit:cover}
.wedding-hero div{padding:14px 14px 16px}
.wedding-hero h3{font-size:28px;letter-spacing:-.02em}
.info-list button,.contacts-card{
  background:rgba(255,255,255,.84)!important;border-color:rgba(223,213,200,.86)!important;border-radius:16px!important;
}
.info-icon{
  width:38px;height:38px;border-radius:14px;background:linear-gradient(180deg,#f8f0e4,#fff);border:1px solid rgba(223,213,200,.84);display:grid;place-items:center;color:#9b7d4b;
}
/* music */
.music-list{gap:10px!important}
.music-row{
  position:relative;overflow:hidden;border-radius:18px!important;padding:10px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,245,239,.94))!important;
  border:1px solid rgba(223,213,200,.88)!important;
}
.music-row:before{content:'';position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,rgba(176,142,88,.4),transparent)}
.music-row img{width:56px!important;height:56px!important;border-radius:12px!important;box-shadow:0 6px 14px rgba(0,0,0,.08)}
.music-row strong{font-size:13px}
.music-row small{font-size:9.5px;line-height:1.45}
.music-row .state{
  margin-top:6px!important;padding:4px 8px!important;letter-spacing:.12em;font-size:7px!important;border:1px solid transparent;
}
.state.done{background:#e9f3ec!important;color:#436550!important;border-color:#d6e6da}
.state.partial{background:#fdf0df!important;color:#9d7440!important;border-color:#f2dfbf}
.state.empty{background:#f2eeea!important;color:#8b8278!important;border-color:#e6ddd2}
.music-specials{gap:10px!important}
.music-specials button{
  border-radius:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(250,245,239,.94))!important;border-color:rgba(223,213,200,.88)!important;
}
.round{box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
/* planning and questionnaire */
.planning-list,.questionnaire-list,.profile-links{
  border-radius:18px!important;border-color:rgba(223,213,200,.88)!important;background:rgba(255,255,255,.78)!important;
}
.planning-list button,.questionnaire-list button,.profile-links button{
  background:rgba(255,255,255,.8)!important;padding:14px!important;
}
.planning-list button:hover,.questionnaire-list button:hover,.profile-links button:hover{background:rgba(255,255,255,.96)!important}
.question-progress{
  background:linear-gradient(180deg,#fffdfa 0%, #f8f2e8 100%);border:1px solid rgba(223,213,200,.84);border-radius:16px;padding:12px;box-shadow:0 12px 24px rgba(33,25,17,.03);
}
.q-state{transition:transform .2s ease, background .2s ease}
.q-state.done{box-shadow:0 6px 14px rgba(60,155,99,.18)}
.q-state.partial{box-shadow:0 6px 14px rgba(233,163,72,.18)}
/* docs / notifications / profile */
.tabs button{transition:all .2s ease}
.tabs button.active{box-shadow:0 10px 18px rgba(24,42,37,.12)}
.notifications-list article{padding:15px 2px!important;animation:itemIn .4s ease both}
.notifications-list article:nth-child(2){animation-delay:.04s}.notifications-list article:nth-child(3){animation-delay:.08s}.notifications-list article:nth-child(4){animation-delay:.12s}
.profile-head{background:linear-gradient(180deg,#fffdfa 0%, #f8f2e8 100%);border:1px solid rgba(223,213,200,.84);border-radius:20px;padding:24px 0 18px!important}
.profile-head img{box-shadow:0 10px 24px rgba(33,25,17,.10)}
.logout{box-shadow:0 10px 18px rgba(212,75,75,.05)}
/* bottom nav */
.bottom-nav{
  background:rgba(251,247,241,.94)!important;border-top:1px solid rgba(223,213,200,.84)!important;backdrop-filter:blur(18px);
}
.bottom-nav button.active{color:#11231e!important}
.bottom-nav button.active span{transform:translateY(-1px)}
/* sheet */
.sheet-backdrop{background:rgba(26,22,18,.26)!important;backdrop-filter:blur(5px)}
.sheet-panel{
  background:linear-gradient(180deg,#fffdfa 0%, #fbf8f2 100%)!important;
  border-radius:28px 28px 0 0!important;
  box-shadow:0 -12px 38px rgba(26,22,18,.12);
  animation:sheetRise .36s cubic-bezier(.2,.75,.2,1) both!important;
}
.sheet-panel:before{content:'';position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,rgba(176,142,88,.5),transparent)}
.sheet-handle{background:#d8cfc4!important}
.sheet-head small{color:#a18559}
.sheet-head h3{font-size:28px;letter-spacing:-.02em}
.sheet-head p{font-size:11px;line-height:1.55;color:#7e766d}
.sheet-list,.optional-note,.layout-grid button,.field input,.field textarea,.sheet-actions button{
  box-shadow:0 10px 20px rgba(33,25,17,.02);
}
.sheet-list,.optional-note{border-radius:16px!important}
.sheet-list button{padding:13px 12px!important}
.sheet-list em{font-size:7px!important;letter-spacing:.12em;text-transform:uppercase}
.field label{color:#987f58}
.field input,.field textarea{border-radius:12px!important;background:#fffdfa!important}
.field input:focus,.field textarea:focus{border-color:#b39261!important;box-shadow:0 0 0 4px rgba(176,142,88,.09)!important}
.sheet-actions button{border-radius:12px!important}
.optional-note{background:linear-gradient(180deg,#f8f0e4 0%, #fffdfa 100%)!important;color:#837867!important}
.layout-grid button{border-radius:16px!important;height:124px!important}
.layout-grid strong{font-size:11px!important}
/* toast */
.toast{
  background:rgba(20,18,15,.95)!important;color:#fff;border:1px solid rgba(176,142,88,.16);
  box-shadow:0 16px 34px rgba(25,18,13,.18);padding:12px 16px;border-radius:999px;
  transform:translateX(-50%) translateY(16px) scale(.98);opacity:0;transition:opacity .22s ease, transform .22s ease;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
/* motion */
.home-grid button:nth-child(1), .music-row:nth-child(1), .planning-list button:nth-child(1), .questionnaire-list button:nth-child(1){animation-delay:.02s}
.home-grid button:nth-child(2), .music-row:nth-child(2), .planning-list button:nth-child(2), .questionnaire-list button:nth-child(2){animation-delay:.05s}
.home-grid button:nth-child(3), .music-row:nth-child(3), .planning-list button:nth-child(3), .questionnaire-list button:nth-child(3){animation-delay:.08s}
.home-grid button:nth-child(4), .music-row:nth-child(4), .planning-list button:nth-child(4), .questionnaire-list button:nth-child(4){animation-delay:.11s}
.home-grid button:nth-child(5), .music-row:nth-child(5){animation-delay:.14s}
.home-grid button:nth-child(6), .music-row:nth-child(6){animation-delay:.17s}
.home-grid button, .music-row, .planning-list button, .questionnaire-list button, .music-specials button{animation:itemLift .42s ease both}
@keyframes viewFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes itemLift{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes itemIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sheetRise{from{opacity:0;transform:translateX(-50%) translateY(36px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media (prefers-reduced-motion: reduce){
  .view.active.animate-in,.home-grid button,.music-row,.planning-list button,.questionnaire-list button,.music-specials button,.notifications-list article,.sheet-panel{animation:none!important}
  .progress i,.toast,.btn,.home-grid button,.music-row,.music-specials button,.planning-list button,.questionnaire-list button,.profile-links button,.documents-list button,.info-list button,.header-back,.header-icon{transition:none!important}
}


/* V16 cinematic luxury */
.phone-shell{position:relative;isolation:isolate}
.phone-shell:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.18) 49%,transparent 56%);transform:translateX(-120%);animation:shellSheen 10s ease-in-out infinite}
main,.app-header,.bottom-nav{position:relative;z-index:2}
/* ambient */
.ambient-light{position:fixed;left:50%;top:18%;width:min(380px,92vw);height:240px;transform:translateX(-50%);pointer-events:none;z-index:0;opacity:.22;background:radial-gradient(circle,rgba(198,163,104,.22),transparent 65%);filter:blur(18px)}
.ambient-light.sweep{animation:ambientSweep .9s ease both}.ambient-light.flash{animation:ambientFlash .65s ease both}
/* login cinematic */
.login-screen{overflow:hidden}
.login-photo{animation:heroReveal .9s cubic-bezier(.2,.75,.2,1) both}
.login-photo img{animation:slowZoom 12s ease-in-out infinite alternate}
.login-logo{animation:logoFloat 4.5s ease-in-out infinite}
.login-content>*{animation:loginRise .6s ease both}.login-content>*:nth-child(2){animation-delay:.04s}.login-content>*:nth-child(3){animation-delay:.08s}.login-content>*:nth-child(4){animation-delay:.12s}.login-content>*:nth-child(5){animation-delay:.16s}.login-content>*:nth-child(6){animation-delay:.20s}
.login-leave{animation:loginOut .28s ease both}.main-enter{animation:mainIn .58s cubic-bezier(.2,.75,.2,1) both}
.lux-orbit{position:absolute;right:20px;bottom:18px;width:46px;height:46px;pointer-events:none;opacity:.55}.lux-orbit i{position:absolute;inset:0;border:1px solid rgba(176,142,88,.35);border-radius:50%;animation:orbit 6s linear infinite}.lux-orbit i:nth-child(2){inset:8px;animation-direction:reverse;animation-duration:4.5s}.lux-orbit i:nth-child(3){inset:17px;background:rgba(176,142,88,.22);border:0;animation:pulseDot 2.4s ease-in-out infinite}
/* event image premium */
.event-image-wrap{position:relative;overflow:hidden}.event-image-wrap img{display:block;width:100%;transition:transform .8s cubic-bezier(.2,.75,.2,1)}.event-card:active .event-image-wrap img{transform:scale(1.025)}
.event-glow{position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(22,18,14,.14));pointer-events:none}
/* home grid */
.home-grid button{will-change:transform}.home-grid button:hover{transform:translateY(-2px)}
.home-grid button span{transition:transform .3s ease, background .3s ease}.home-grid button:hover span{transform:translateY(-2px) scale(1.03);background:linear-gradient(180deg,#f6ead7,#fff)}
.home-divider{display:flex;align-items:center;gap:10px;margin:13px 2px 0;color:#a08862;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.home-divider:before,.home-divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(176,142,88,.42),transparent)}
/* image cards */
.wedding-hero img,.music-row img,.profile-head img{transition:transform .6s cubic-bezier(.2,.75,.2,1),filter .4s ease}.wedding-hero:hover img,.music-row:hover img,.profile-head:hover img{transform:scale(1.018);filter:saturate(1.05)}
/* state shimmer */
.state.done,.q-state.done{position:relative;overflow:hidden}.state.done:after,.q-state.done:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-140%);animation:statusShimmer 5s ease-in-out infinite}
/* premium sheet motion */
.sheet.open .sheet-panel>*{animation:sheetContentIn .4s ease both}.sheet.open .sheet-panel>*:nth-child(2){animation-delay:.03s}.sheet.open .sheet-panel>*:nth-child(3){animation-delay:.06s}.sheet.open .sheet-panel>*:nth-child(4){animation-delay:.09s}
.sheet-panel{transform-origin:bottom center}
/* nav */
.bottom-nav button{transition:transform .22s ease,color .22s ease}.bottom-nav button.nav-pop{animation:navPop .34s ease}.bottom-nav button.active span{filter:drop-shadow(0 5px 8px rgba(25,48,40,.13))}
/* tap ripple */
button,.music-row,.event-card{position:relative;overflow:hidden}.tap-ripple{position:absolute;width:10px;height:10px;border-radius:50%;pointer-events:none;background:rgba(176,142,88,.18);transform:translate(-50%,-50%) scale(0);animation:ripple .55s ease-out forwards;z-index:5}
/* toast */
.toast.show{animation:toastIn .32s cubic-bezier(.2,.75,.2,1) both}
/* micro float */
.signature{animation:softFloat 5.5s ease-in-out infinite}.home-luxe-note{animation:softGlow 4.5s ease-in-out infinite}
/* document cards */
.documents-list button:hover,.profile-links button:hover,.info-list button:hover,.music-specials button:hover,.planning-list button:hover,.questionnaire-list button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(33,25,17,.06)}
/* keyframes */
@keyframes shellSheen{0%,72%{transform:translateX(-120%);opacity:0}82%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes ambientSweep{from{opacity:.12;transform:translateX(-58%) scale(.92)}to{opacity:.26;transform:translateX(-50%) scale(1)}}
@keyframes ambientFlash{0%{opacity:.14;transform:translateX(-50%) scale(.9)}45%{opacity:.34;transform:translateX(-50%) scale(1.08)}100%{opacity:.18;transform:translateX(-50%) scale(1)}}
@keyframes heroReveal{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@keyframes slowZoom{from{transform:scale(1.02)}to{transform:scale(1.075)}}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes loginRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes loginOut{to{opacity:0;transform:scale(.985)}}
@keyframes mainIn{from{opacity:0;transform:scale(.985) translateY(8px)}to{opacity:1;transform:none}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes pulseDot{0%,100%{transform:scale(.82);opacity:.5}50%{transform:scale(1.12);opacity:1}}
@keyframes statusShimmer{0%,78%{transform:translateX(-140%)}100%{transform:translateX(140%)}}
@keyframes sheetContentIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes navPop{0%{transform:scale(.94)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes ripple{to{transform:translate(-50%,-50%) scale(22);opacity:0}}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(15px) scale(.98)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes softGlow{0%,100%{opacity:.72}50%{opacity:1}}
@media (prefers-reduced-motion: reduce){
 .phone-shell:after,.login-photo,.login-photo img,.login-logo,.login-content>*,.lux-orbit i,.state.done:after,.q-state.done:after,.signature,.home-luxe-note{animation:none!important}
}


/* V17 layouts with real Moment Pro previews */
.wedding-layout-card{
  width:100%;margin:10px 0 12px;border:1px solid rgba(223,213,200,.88);border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(249,244,237,.94));padding:10px;
  display:grid;grid-template-columns:78px 1fr 20px;gap:12px;align-items:center;text-align:left;
  box-shadow:0 12px 26px rgba(33,25,17,.04);overflow:hidden;position:relative;
  transition:transform .2s ease,box-shadow .2s ease;
}
.wedding-layout-card:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(176,142,88,.5),transparent)}
.wedding-layout-card:active{transform:scale(.994)}
.layout-card-image{width:78px;height:68px;border-radius:13px;background:linear-gradient(145deg,#f2eadf,#fff);background-size:cover;background-position:center;display:grid;place-items:center;border:1px solid rgba(223,213,200,.88);overflow:hidden;color:#a38350;font-size:20px;transition:background-image .35s ease}
.layout-card-image.has-image span{width:24px;height:24px;border-radius:50%;background:rgba(16,31,26,.88);color:#fff;display:grid;place-items:center;font-size:11px;box-shadow:0 6px 14px rgba(0,0,0,.16)}
.layout-card-copy{display:flex;flex-direction:column;min-width:0}.layout-card-copy small{font-size:7px;letter-spacing:.16em;color:#a18456;font-weight:800}.layout-card-copy strong{font-family:Georgia,serif;font-size:18px;margin:4px 0 2px}.layout-card-copy em{font-style:normal;font-size:9.5px;color:#81786e}.wedding-layout-card>b{font-size:20px;font-weight:400;color:#9d8358}
.layout-gallery{display:grid;gap:14px;margin-top:4px}.layout-choice{width:100%;padding:0;border:1px solid rgba(223,213,200,.9);background:#fff;border-radius:20px;overflow:hidden;text-align:left;box-shadow:0 14px 30px rgba(34,24,14,.05);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.layout-choice:active{transform:scale(.994)}.layout-choice.selected{border-color:rgba(176,142,88,.95);box-shadow:0 18px 34px rgba(73,52,24,.10),0 0 0 2px rgba(176,142,88,.11)}
.layout-photo{height:176px;background-size:cover;background-position:center;position:relative}.layout-photo:after{content:'';position:absolute;inset:auto 0 0;height:54%;background:linear-gradient(transparent,rgba(14,11,9,.38));pointer-events:none}.layout-select-mark{position:absolute;right:13px;top:13px;width:31px;height:31px;border-radius:50%;background:rgba(255,253,249,.90);backdrop-filter:blur(10px);display:grid;place-items:center;color:#6e5a38;font-weight:800;z-index:1;box-shadow:0 8px 18px rgba(0,0,0,.10)}.layout-choice.selected .layout-select-mark{background:#162621;color:#fff}
.layout-choice-copy{padding:14px 15px 15px;display:grid;gap:8px}.layout-choice-copy>div{display:flex;flex-direction:column}.layout-choice-copy small{font-size:7px;letter-spacing:.18em;color:#a28150;font-weight:800}.layout-choice-copy strong{font-family:Georgia,serif;font-size:23px;line-height:1.05;margin-top:5px}.layout-choice-copy p{font-size:10.5px;line-height:1.5;color:#81786d;margin:0}.layout-confirm{display:grid;grid-template-columns:1fr 1.45fr;gap:8px;position:sticky;bottom:calc(-22px - env(safe-area-inset-bottom));margin:16px -18px calc(-22px - env(safe-area-inset-bottom));padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:rgba(251,248,243,.95);backdrop-filter:blur(16px);border-top:1px solid rgba(223,213,200,.86)}.layout-confirm button{border:1px solid rgba(223,213,200,.9);border-radius:13px;padding:13px 11px;background:#fff;font-size:11px}.layout-confirm button.primary{background:linear-gradient(145deg,#11201b,#253b33);color:#fff;border-color:#1a2d26}.layout-confirm button:disabled{opacity:.45}
/* replace old colour-block grid when legacy markup happens */
.layout-grid{display:none!important}
@media(max-width:355px){.layout-photo{height:154px}.wedding-layout-card{grid-template-columns:68px 1fr 18px}.layout-card-image{width:68px;height:62px}.layout-choice-copy strong{font-size:21px}}


/* V18 — installable PWA experience */
.install-invite{display:none;position:fixed;inset:0;z-index:120;align-items:flex-end;justify-content:center;padding:18px 16px calc(18px + env(safe-area-inset-bottom));}
.install-invite.show{display:flex;animation:installFade .28s ease both}
.install-invite-backdrop{position:absolute;inset:0;background:rgba(24,20,16,.38);backdrop-filter:blur(7px)}
.install-invite-card{position:relative;width:min(100%,398px);padding:26px 22px 19px;border-radius:28px;background:linear-gradient(180deg,#fffdf9 0%,#f8f1e7 100%);border:1px solid rgba(221,207,185,.92);box-shadow:0 26px 70px rgba(25,18,12,.24);text-align:center;animation:installRise .38s cubic-bezier(.2,.78,.2,1) both;overflow:hidden}
.install-invite-card:before{content:'';position:absolute;left:28px;right:28px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(176,142,88,.8),transparent)}
.install-close{position:absolute;right:14px;top:13px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(220,210,198,.9);background:rgba(255,255,255,.8);color:#746b61;font-size:19px;line-height:1}
.install-app-icon{width:76px;height:76px;margin:0 auto 14px;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px rgba(22,38,33,.18)}
.install-app-icon img{width:100%;height:100%;display:block}
.install-invite-card>small{font-size:7px;letter-spacing:.2em;color:#a18251;font-weight:800}
.install-invite-card h3{font-family:Georgia,serif;font-size:27px;line-height:1.06;letter-spacing:-.02em;margin:7px auto 9px;color:#1d1914;max-width:300px}
.install-invite-card p{font-size:11.5px;line-height:1.55;color:#7c7368;margin:0 auto 17px;max-width:320px}
.install-primary{width:100%;border:0;border-radius:15px;padding:14px 16px;background:linear-gradient(145deg,#13251f,#284036);color:#fff;font-weight:800;font-size:12px;box-shadow:0 12px 24px rgba(18,37,31,.18)}
.install-later{width:100%;border:0;background:transparent;color:#8a7b66;padding:12px 10px 7px;font-size:11px}
.install-invite-card>em{display:block;font-style:normal;font-size:9px;color:#a09990;margin-top:2px}
.install-profile-link{grid-template-columns:27px 1fr 15px!important}
.install-profile-link>div{display:flex;flex-direction:column;min-width:0}
.install-profile-link small{font-size:8.5px;color:#817970;margin-top:2px}
.install-profile-link.installed span{color:#4c7359}.install-profile-link.installed small{color:#66836e}
.install-steps{display:grid;gap:9px;margin:12px 0 14px}
.install-steps>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px;border:1px solid rgba(224,214,201,.9);border-radius:15px;background:rgba(255,255,255,.78)}
.install-steps>div>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#f4eadb,#fff);border:1px solid rgba(220,205,181,.9);color:#9b7844;font-size:10px;font-weight:800}
.install-steps p{margin:0;display:flex;flex-direction:column}
.install-steps strong{font-size:11.5px;color:#241d17}
.install-steps small{font-size:9.5px;line-height:1.45;color:#81776b;margin-top:3px}
.install-preview{display:grid;grid-template-columns:54px 1fr;gap:11px;align-items:center;padding:12px;border-radius:16px;background:linear-gradient(180deg,#f6eee2,#fffdfa);border:1px solid rgba(220,205,181,.88);margin-bottom:13px}
.install-preview img{width:54px;height:54px;border-radius:15px;box-shadow:0 7px 16px rgba(22,38,33,.13)}
.install-preview>div{display:flex;flex-direction:column}.install-preview small{font-size:7px;letter-spacing:.16em;color:#a18251;font-weight:800}.install-preview strong{font-family:Georgia,serif;font-size:17px;margin:3px 0}.install-preview span{font-size:9.5px;color:#81776b}
@keyframes installFade{from{opacity:0}to{opacity:1}}
@keyframes installRise{from{opacity:0;transform:translateY(32px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:700px){.install-invite{align-items:center}.install-invite-card{border-radius:28px}}
@media(prefers-reduced-motion:reduce){.install-invite.show,.install-invite-card{animation:none!important}}


/* V18.1 install preview clarity */
.device-guides{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 14px}
.device-guides article{padding:14px;border:1px solid rgba(224,214,201,.92);border-radius:18px;background:linear-gradient(180deg,#fff,#f8f1e7);box-shadow:0 10px 22px rgba(32,24,16,.03)}
.device-title{display:flex;align-items:center;gap:9px;margin-bottom:11px}.device-title>span{width:34px;height:34px;border-radius:11px;background:#17251f;color:#fff;display:grid;place-items:center;font-size:14px}.device-title div{display:flex;flex-direction:column}.device-title small{font-size:7px;letter-spacing:.16em;color:#a18251;font-weight:800}.device-title strong{font-family:Georgia,serif;font-size:16px;margin-top:2px}
.device-guides ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}.device-guides li{display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:center;font-size:9.5px;line-height:1.35;color:#746b61}.device-guides li b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f1e7d8;color:#936f39;font-size:8px}
@media(max-width:360px){.device-guides{grid-template-columns:1fr}}


/* V18.2 — install preview visible from login */
.login-install-preview{width:100%;margin-top:10px;border:1px solid rgba(205,186,154,.72);background:linear-gradient(180deg,#fffdfa,#f5ecde);border-radius:14px;padding:11px 12px;display:grid;grid-template-columns:34px 1fr 14px;gap:10px;align-items:center;text-align:left;color:#2a241d;box-shadow:0 10px 22px rgba(37,27,17,.04);transition:transform .2s ease,box-shadow .2s ease}.login-install-preview:active{transform:scale(.993)}.login-install-preview>span{width:32px;height:32px;border-radius:11px;background:linear-gradient(180deg,#1a3029,#29483d);color:#fff;display:grid;place-items:center;font-size:15px;box-shadow:0 7px 16px rgba(20,39,32,.16)}.login-install-preview>div{display:flex;flex-direction:column;min-width:0}.login-install-preview strong{font-size:11.5px}.login-install-preview small{font-size:8.5px;color:#8a7962;margin-top:2px}.login-install-preview>b{font-size:18px;color:#a18251;font-weight:400}


/* V19 official branding integration */
:root{
  --brand-gold:#c79424;
  --brand-gold-soft:rgba(199,148,36,.14);
  --brand-gold-line:rgba(199,148,36,.32);
  --brand-deep:#14231f;
}
.login-photo{position:relative;overflow:hidden}
.login-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,23,20,.05),rgba(17,23,20,.22));z-index:0}
.login-photo img{position:relative;z-index:0}
.login-logo{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:min(74%,250px);padding:14px 18px;border-radius:20px;background:linear-gradient(180deg,rgba(20,35,31,.78),rgba(20,35,31,.62));backdrop-filter:blur(8px);box-shadow:0 18px 40px rgba(17,22,19,.18);border:1px solid rgba(199,148,36,.16)}
.login-logo img{display:block;width:100%;height:auto}
.login-mp-seal{position:absolute;right:18px;top:18px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,rgba(20,35,31,.88),rgba(20,35,31,.74));backdrop-filter:blur(8px);box-shadow:0 16px 32px rgba(20,17,13,.14);border:1px solid rgba(199,148,36,.18);z-index:1}
.login-mp-seal img{width:30px;height:30px;display:block}
.header-brand.brand-lockup{display:flex;justify-content:center;align-items:center}
.brand-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:linear-gradient(145deg,#13221d,#223630);box-shadow:0 10px 24px rgba(17,22,19,.10);border:1px solid rgba(199,148,36,.16)}
.brand-pill img{display:block;width:132px;max-width:100%;height:auto}
.mp-icon-button{display:grid;place-items:center;padding:0!important;background:linear-gradient(145deg,#13221d,#233730)!important;border-color:rgba(199,148,36,.18)!important}
.mp-icon-button img{width:19px;height:19px;display:block}
.home-status{position:relative;overflow:hidden}
.home-status:before,.wedding-layout-card:before,.event-card:before,.music-row:before,.music-specials button:before,.planning-list button:before,.questionnaire-list button:before,.sheet-panel:before{background:linear-gradient(90deg,var(--brand-gold-line),transparent)!important}
.home-status:after{content:'';position:absolute;right:-24px;top:-26px;width:98px;height:98px;border-radius:50%;background:radial-gradient(circle,rgba(199,148,36,.08),transparent 66%)}
.home-brand-seal{margin:16px auto 0;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#13221d,#223630);box-shadow:0 14px 30px rgba(20,17,13,.10);border:1px solid rgba(199,148,36,.16)}
.home-brand-seal img{width:32px;height:32px;display:block}
.login-install-preview,.wedding-layout-card,.planning-list button,.questionnaire-list button,.music-row,.music-specials button,.profile-links button,.documents-list button,.info-list button,.event-card,.home-grid button{border-color:rgba(221,212,198,.92)!important}
.page-title h2,.wedding-hero h3,.profile-head h3,.sheet-head h3,.login-content h1{color:#1f1b16}
.home-greeting h2 span,.home-luxe-note,.sheet-head small,.layout-card-copy small,.layout-choice-copy small,.field label,.page-title p a{color:var(--brand-gold)}
.text-action,.link-btn{color:#9c7840}
.wedding-layout-card,.event-card,.home-status,.profile-head{box-shadow:0 14px 30px rgba(34,24,14,.04)}
.wedding-layout-card{background:linear-gradient(180deg,#fffdfa,#f9f3ea)!important}
.layout-card-image.has-image span,.layout-choice.selected .layout-select-mark{background:var(--brand-deep)!important;color:#fff}
.layout-choice.selected{border-color:rgba(199,148,36,.9)!important;box-shadow:0 18px 34px rgba(77,55,20,.10),0 0 0 2px rgba(199,148,36,.10)!important}
.layout-confirm button.primary,.btn.primary{background:linear-gradient(145deg,#13221d,#244038)!important;border-color:#21362f!important}
.install-invite-card{position:relative;overflow:hidden}
.install-invite-card:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--brand-gold-line),transparent)}
.brand-app-icon{background:linear-gradient(145deg,#13221d,#223630)!important;border-color:rgba(199,148,36,.18)!important;box-shadow:0 18px 36px rgba(20,17,13,.12)}
.brand-app-icon img{width:52px!important;height:52px!important;display:block}
.profile-head{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdfa 0%,#f7f1e7 100%)!important}
.profile-head:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--brand-gold-line),transparent)}
.profile-brand-mark{position:absolute;right:16px;top:16px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#13221d,#223630);border:1px solid rgba(199,148,36,.16);box-shadow:0 12px 26px rgba(20,17,13,.08)}
.profile-brand-mark img{width:27px;height:27px;display:block}
.install-primary{background:linear-gradient(145deg,#13221d,#244038)!important;box-shadow:0 12px 24px rgba(20,31,27,.14)}
.install-later{color:#8e6f3d}
.header-back,.header-icon,.home-grid button span,.info-icon,.round,.music-thumb,.picon,.pdf,.n,.tabs button.active{border-color:rgba(199,148,36,.16)!important}
.bottom-nav button.active small,.bottom-nav button.active span,.wedding-layout-card>b,.home-divider span{color:var(--brand-gold)!important}
@media(max-width:355px){.brand-pill img{width:110px}.login-mp-seal{width:50px;height:50px}.login-mp-seal img{width:26px;height:26px}}


/* V20 editorial / luxury refinement */
:root{
  --editorial-cream:#fffdf9;
  --editorial-paper:#fbf7f0;
  --editorial-line:rgba(214,201,185,.9);
}
body{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.76) 0, rgba(255,255,255,0) 25%),
    linear-gradient(180deg,#eee5d8 0%, #f7f2ea 20%, #fcfaf6 58%, #efe7dc 100%)!important;
}
.phone-shell{
  box-shadow:0 34px 90px rgba(35,26,18,.14), inset 0 1px 0 rgba(255,255,255,.55)!important;
}
/* login hero / logos */
.login-photo{min-height:358px}
.login-logo{
  left:50%!important;
  right:auto!important;
  bottom:22px!important;
  transform:translateX(-50%)!important;
  width:min(66%,220px)!important;
  max-width:220px!important;
  padding:12px 16px!important;
  border-radius:18px!important;
  overflow:visible!important;
}
.login-logo img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  margin:0 auto!important;
}
.login-mp-seal{
  right:14px!important;
  top:14px!important;
  width:54px!important;
  height:54px!important;
  place-items:center!important;
}
.login-mp-seal img,
.mp-icon-button img,
.home-brand-seal img,
.profile-brand-mark img,
.brand-app-icon img{
  display:block!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.login-content{
  padding-top:22px!important;
}
.login-content h1{font-size:31px!important;letter-spacing:-.02em}
.login-content>p{font-size:12px!important;color:#82796f!important}
.login-editorial-note{
  margin:10px auto 0;
  max-width:265px;
  font-size:10px;
  line-height:1.6;
  color:#a08150;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.input-row{
  border-radius:13px!important;
  background:rgba(255,255,255,.9)!important;
}
.link-btn{font-size:12px!important}
.login-install-preview{
  margin-top:16px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fffdfa,#f7f0e6)!important;
  box-shadow:0 12px 24px rgba(34,24,14,.04)!important;
}
/* top bar */
.app-header{
  background:rgba(252,248,242,.82)!important;
  backdrop-filter:blur(16px)!important;
}
.brand-pill{
  padding:8px 12px!important;
}
.brand-pill img{
  width:122px!important;
}
.header-back,.header-icon{
  border-radius:14px!important;
}
.mp-icon-button{
  display:grid!important;
  place-items:center!important;
}
/* editorial headings */
.editorial-kicker{
  display:block;
  font-size:8px;
  letter-spacing:.22em;
  color:#a38454;
  font-weight:700;
  margin-bottom:6px;
}
.page-title h2,
.home-greeting h2,
.wedding-hero h3,
.profile-head h3,
.sheet-head h3{
  letter-spacing:-.03em!important;
}
.page-title p{max-width:300px!important;color:#877d72!important}
/* cards */
.event-card,
.wedding-hero,
.home-status,
.music-row,
.music-specials button,
.planning-list,
.questionnaire-list,
.documents-list button,
.info-list button,
.profile-links,
.contacts-card,
.calendar-card,
.wedding-layout-card{
  background:linear-gradient(180deg,#fffdfa 0%, #faf5ee 100%)!important;
  border:1px solid var(--editorial-line)!important;
  box-shadow:0 14px 30px rgba(34,24,14,.035)!important;
}
.event-card img{height:164px!important}
.home-grid{gap:12px!important}
.home-grid button{
  min-height:90px;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fffdfa 0%,#f9f4ec 100%)!important;
}
.home-grid button strong{font-size:12px!important;line-height:1.35!important}
.home-grid button span{width:42px!important;height:42px!important;border-radius:15px!important}
.home-status{padding:15px!important;border-radius:18px!important}
.home-divider span{letter-spacing:.16em!important}
/* list rhythm */
.info-list,.music-list,.music-specials,.documents-list,.notifications-list,.timeline{gap:11px!important}
.info-list button,
.music-row,
.documents-list button,
.profile-links button{
  border-radius:17px!important;
}
.info-list button strong{font-size:12px!important}
.music-row{
  padding:11px!important;
}
.music-row strong{font-size:13px!important;letter-spacing:-.01em}
.music-row small{font-size:9.5px!important}
.music-row .state{margin-top:7px!important}
.music-specials button{padding:15px!important;border-radius:18px!important}
.planning-list,.questionnaire-list,.profile-links{padding:4px!important;border-radius:18px!important}
.planning-list button,.questionnaire-list button,.profile-links button{border-radius:14px!important}
.q-state{min-width:24px;text-align:center}
/* wedding layout card */
.wedding-layout-card{
  border-radius:20px!important;
  padding:14px!important;
  grid-template-columns:88px 1fr 18px!important;
}
.layout-card-image{
  width:88px!important;
  height:76px!important;
  border-radius:15px!important;
}
.layout-card-copy strong{font-size:20px!important}
.layout-choice{
  border-radius:22px!important;
}
.layout-photo{
  height:188px!important;
}
.layout-choice-copy strong{font-size:25px!important}
.layout-choice-copy p{font-size:10.8px!important;line-height:1.58!important}
/* install modal */
.install-invite-card{
  max-width:340px!important;
  border-radius:28px!important;
  padding:26px 22px 18px!important;
  background:linear-gradient(180deg,#fffdfa 0%,#f8f2e8 100%)!important;
  box-shadow:0 26px 60px rgba(23,18,14,.16)!important;
}
.install-app-icon,
.brand-app-icon{
  width:76px!important;
  height:76px!important;
  margin:0 auto 14px!important;
  display:grid!important;
  place-items:center!important;
  padding:12px!important;
  border-radius:22px!important;
}
.brand-app-icon img{
  width:44px!important;
  height:44px!important;
}
.install-invite-card small{
  display:block;
  text-align:center;
  letter-spacing:.22em!important;
  font-size:7px!important;
  color:#a38251!important;
}
.install-invite-card h3{
  margin:10px auto 10px!important;
  max-width:250px;
  text-align:center;
  font-family:Georgia,serif;
  font-size:24px!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
  color:#201b16!important;
}
.install-invite-card p{
  max-width:255px;
  margin:0 auto 16px!important;
  text-align:center;
  font-size:11px!important;
  line-height:1.6!important;
  color:#7f756a!important;
}
.install-primary,
.install-later{
  display:block!important;
  width:100%!important;
}
.install-primary{
  border-radius:15px!important;
  padding:13px 14px!important;
}
.install-later{
  margin-top:8px!important;
  padding:10px 14px!important;
  background:transparent!important;
}
.install-invite-card em{
  display:block;
  margin-top:8px!important;
  text-align:center;
  font-size:9px!important;
  color:#9a8d7a!important;
}
.install-close{
  top:12px!important;
  right:12px!important;
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.72)!important;
}
/* profile */
.profile-head{
  padding:26px 0 18px!important;
}
.profile-head img{width:96px!important;height:96px!important}
.profile-brand-mark{display:grid!important;place-items:center!important}
/* bottom nav */
.bottom-nav{
  background:rgba(252,248,242,.9)!important;
}
.bottom-nav button small{font-size:9px!important}
/* animations a touch smoother */
.view.active.animate-in{animation:viewFadeEditorial .45s cubic-bezier(.22,.8,.2,1) both!important}
@keyframes viewFadeEditorial{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:355px){
  .login-logo{width:min(70%,200px)!important;max-width:200px!important}
  .brand-pill img{width:110px!important}
  .install-invite-card{max-width:318px!important}
}


/* V21 refinements: no install popup after entering + stronger desktop/editorial mode */
.install-invite{z-index:90}
#mainApp{position:relative}
.home-greeting h2{font-size:34px!important;line-height:1.05!important}
.home-greeting p{font-size:13px!important}
.event-card{overflow:hidden!important}
.event-image-wrap{position:relative}
.event-image-wrap img{display:block;width:100%;object-fit:cover}
.event-glow{position:absolute;inset:auto auto 0 0;width:140px;height:140px;background:radial-gradient(circle,rgba(199,148,36,.20),transparent 65%);pointer-events:none}
.event-card div strong{display:block;margin-bottom:5px}
.home-status small,.home-divider span,.editorial-kicker{letter-spacing:.18em!important}
.music-row,.planning-list button,.questionnaire-list button{position:relative;overflow:hidden}
.music-row div,.planning-list button div,.questionnaire-list button div{min-width:0}
.music-row small,.planning-list small,.questionnaire-list small{line-height:1.45!important}
.music-row::after,.planning-list button::after,.questionnaire-list button::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-120%);transition:transform .7s ease}
.music-row:hover::after,.planning-list button:hover::after,.questionnaire-list button:hover::after{transform:translateX(120%)}
.info-list button strong,.documents-list button strong,.profile-links button strong{letter-spacing:-.01em}
.send-plan{margin-top:10px!important}

/* Desktop experience */
@media (min-width: 1080px){
  body{padding:24px!important;display:flex;align-items:center;justify-content:center;overflow:hidden}
  .phone-shell{width:min(1320px, calc(100vw - 48px))!important;max-width:none!important;height:calc(100vh - 48px)!important;max-height:none!important;border-radius:34px!important;overflow:hidden!important}
  .screen.main-screen.active{display:grid!important;grid-template-rows:auto 1fr auto;height:100%}
  .screen.login-screen.active{display:grid!important;grid-template-columns:1.05fr .95fr;align-items:stretch;height:100%}
  .login-photo{height:auto!important;min-height:100%!important;border-radius:0!important}
  .login-content{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 54px!important;text-align:center;background:linear-gradient(180deg,#fffcf8 0%, #f7f1e8 100%)!important}
  .login-content h1{font-size:46px!important}
  .login-content>p{font-size:14px!important}
  .login-editorial-note{max-width:360px!important;font-size:11px!important}
  .input-row{width:min(100%,420px)!important}
  #loginBtn,.link-btn,.login-install-preview{width:min(100%,420px)!important}
  .login-install-preview{margin-top:20px!important}
  .app-header{padding:14px 24px!important}
  main{padding:26px 24px 94px!important;overflow:auto!important}
  .page-title{grid-column:1 / -1}
  .page-title h2{font-size:38px!important}
  .page-title p{font-size:13px!important;max-width:540px!important}
  .view.active{max-width:none!important}

  .view[data-view="home"].active{display:grid!important;grid-template-columns:1.15fr .85fr;gap:18px;align-content:start}
  .view[data-view="home"] .home-greeting{grid-column:1;grid-row:1}
  .view[data-view="home"] .event-card{grid-column:1;grid-row:2 / span 2;height:100%}
  .view[data-view="home"] .event-image-wrap img{height:360px!important}
  .view[data-view="home"] .event-card div{padding:18px!important}
  .view[data-view="home"] .event-card strong{font-size:24px!important}
  .view[data-view="home"] .event-card span{font-size:13px!important}
  .view[data-view="home"] .home-grid{grid-column:2;grid-row:1 / span 2;display:grid!important;grid-template-columns:1fr 1fr;gap:14px;align-content:start}
  .view[data-view="home"] .home-grid button{min-height:132px!important;padding:18px!important;align-content:start}
  .view[data-view="home"] .home-grid button strong{font-size:16px!important;line-height:1.25!important}
  .view[data-view="home"] .home-status{grid-column:1;grid-row:4}
  .view[data-view="home"] .signature,.view[data-view="home"] .home-luxe-note,.view[data-view="home"] .home-divider,.view[data-view="home"] .home-brand-seal{grid-column:2}
  .view[data-view="home"] .signature{margin-top:2px!important}
  .view[data-view="home"] .home-brand-seal{margin:10px 0 0 auto!important}

  .view[data-view="wedding"].active{display:grid!important;grid-template-columns:1fr 1fr;gap:18px;align-content:start}
  .view[data-view="wedding"] .wedding-hero{grid-column:1;grid-row:2 / span 2}
  .view[data-view="wedding"] .wedding-hero img{height:300px!important}
  .view[data-view="wedding"] .info-list{grid-column:2;grid-row:2}
  .view[data-view="wedding"] .contacts-card{grid-column:2;grid-row:3}
  .view[data-view="wedding"] .wedding-layout-card{grid-column:1;grid-row:4}
  .view[data-view="wedding"] .btn.primary{grid-column:2;grid-row:4;align-self:end}

  .view[data-view="music"].active{display:grid!important;grid-template-columns:1fr 1fr;gap:18px;align-content:start}
  .view[data-view="music"] .music-list{grid-column:1 / -1;display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
  .view[data-view="music"] .music-row{min-height:94px!important}
  .view[data-view="music"] .music-row img{width:72px!important;height:72px!important;border-radius:16px!important}
  .view[data-view="music"] .music-row strong{font-size:16px!important}
  .view[data-view="music"] .music-row small{font-size:11px!important}
  .view[data-view="music"] .music-specials{grid-column:1 / -1;display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
  .view[data-view="music"] .music-specials button{min-height:96px!important}

  .view[data-view="planning"].active,.view[data-view="questionnaire"].active,.view[data-view="documents"].active,.view[data-view="profile"].active{display:grid!important;grid-template-columns:1fr 1fr;gap:18px;align-content:start}
  .view[data-view="planning"] .planning-list,.view[data-view="questionnaire"] .questionnaire-list{grid-column:1 / -1;display:grid!important;grid-template-columns:1fr 1fr;gap:12px;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}
  .view[data-view="planning"] .planning-list button,.view[data-view="questionnaire"] .questionnaire-list button{background:linear-gradient(180deg,#fffdfa 0%, #faf5ee 100%)!important;border:1px solid var(--editorial-line)!important;min-height:94px;padding:16px!important;box-shadow:0 14px 28px rgba(34,24,14,.03)!important}
  .view[data-view="questionnaire"] .question-progress{grid-column:1 / -1}
  .view[data-view="questionnaire"] .btn{min-width:0}
  .view[data-view="documents"] .tabs{grid-column:1 / -1}
  .view[data-view="documents"] .documents-list{grid-column:1 / -1;display:grid!important;grid-template-columns:1fr 1fr;gap:12px}
  .view[data-view="documents"] .documents-list button{min-height:96px!important}
  .view[data-view="profile"] .profile-head{grid-column:1;grid-row:2}
  .view[data-view="profile"] .profile-links{grid-column:2;grid-row:2}
  .view[data-view="profile"] .logout{grid-column:2;grid-row:3;align-self:start}
  .view[data-view="notifications"].active,.view[data-view="calendar"].active{max-width:860px!important;margin:0 auto!important}
  .calendar-card{padding:18px!important}
  .timeline article{padding:18px 12px!important}
}


/* V22 fixes and stronger premium desktop */
.brand-pill{padding:8px 18px!important}
.brand-pill img{width:112px!important;max-width:112px!important}
.mp-icon-button{width:42px!important;height:42px!important}
.mp-icon-button img{width:18px!important;height:18px!important}
.profile-head{overflow:hidden!important}
.profile-brand-mark{right:18px!important;top:18px!important;width:56px!important;height:56px!important}
.profile-brand-mark img{width:28px!important;height:28px!important}
.event-image-wrap{position:relative;overflow:hidden;border-radius:18px 18px 0 0}
.event-image-wrap img{display:block;width:100%;height:100%!important;object-fit:cover!important;object-position:center 18%!important}
.event-image-wrap:after{content:'';position:absolute;left:0;right:0;bottom:0;height:58px;background:linear-gradient(180deg,rgba(250,245,238,0),rgba(250,245,238,.92) 72%, rgba(250,245,238,1));pointer-events:none}
.event-card div{position:relative;z-index:1;background:linear-gradient(180deg,rgba(255,253,250,.92),rgba(250,245,238,1))}
.wedding-hero img{object-position:center 22%!important}
.schedule-toolbar{display:flex;justify-content:flex-end;margin:12px 0 0}
.btn.soft{height:44px;padding:0 18px;border-radius:14px;border:1px solid rgba(199,148,36,.28);background:linear-gradient(180deg,#fffdfa,#f7efe4);color:#7d6130;box-shadow:0 10px 18px rgba(31,23,17,.03)}
.timeline{margin-top:14px;border-left:none!important;margin-left:0!important;display:grid;gap:12px!important}
.timeline article{display:grid;grid-template-columns:74px 1fr;gap:14px;padding:16px 16px 16px 18px!important;position:relative;border:1px solid rgba(221,212,198,.92)!important;border-radius:18px;background:linear-gradient(180deg,#fffdfa 0%, #faf5ee 100%);box-shadow:0 14px 28px rgba(34,24,14,.03)}
.timeline article:before{content:'';position:absolute;left:16px;top:23px;width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,#1a2f29,#b98a29)!important}
.timeline b{padding-left:16px;font-size:13px!important;color:#8a6d40!important;letter-spacing:.03em}
.timeline strong{font-size:15px!important;display:block;margin-bottom:4px}
.timeline span{font-size:11px!important;color:#7b746c!important;line-height:1.45}
.home-greeting h2{max-width:520px}
.home-grid button{min-height:100px!important}
.home-grid button strong{font-size:13px!important}
.wedding-layout-card{min-height:112px}
@media (min-width:1080px){
  .phone-shell{width:min(1380px, calc(100vw - 48px))!important}
  .brand-pill img{width:126px!important;max-width:126px!important}
  .view[data-view="home"].active{grid-template-columns:1.2fr .8fr!important;gap:22px!important}
  .view[data-view="home"] .event-card{border-radius:24px!important}
  .view[data-view="home"] .event-image-wrap{height:430px!important}
  .view[data-view="home"] .event-card div{padding:20px 20px 18px!important}
  .view[data-view="home"] .event-card strong{font-size:28px!important;line-height:1.08}
  .view[data-view="home"] .event-card span{font-size:14px!important}
  .view[data-view="home"] .home-grid{gap:16px!important}
  .view[data-view="home"] .home-grid button{min-height:136px!important;border-radius:22px!important}
  .view[data-view="home"] .home-grid button strong{font-size:17px!important}
  .view[data-view="home"] .home-status{margin-top:4px!important}
  .view[data-view="wedding"] .wedding-hero img{height:340px!important}
  .view[data-view="music"] .music-list{grid-template-columns:1fr 1fr!important;gap:16px!important}
  .view[data-view="music"] .music-row{min-height:104px!important;padding:14px!important}
  .view[data-view="music"] .music-row img{width:78px!important;height:78px!important}
  .view[data-view="planning"] .planning-list button,.view[data-view="questionnaire"] .questionnaire-list button{min-height:104px!important}
  .view[data-view="profile"] .profile-head{min-height:220px!important;display:flex!important;flex-direction:column;justify-content:center!important}
  .view[data-view="calendar"].active{max-width:none!important;display:grid!important;grid-template-columns:.95fr 1.05fr;gap:18px;align-content:start}
  .view[data-view="calendar"] .page-title,.view[data-view="calendar"] .calendar-card{grid-column:1}
  .view[data-view="calendar"] .schedule-toolbar{grid-column:1;justify-content:flex-start}
  .view[data-view="calendar"] .timeline{grid-column:2;grid-row:1 / span 3;align-self:start;margin-top:0!important}
  .view[data-view="calendar"] .calendar-card{padding:26px!important;border-radius:22px!important}
  .view[data-view="calendar"] .calendar-card strong{font-size:34px!important}
}


/* V23 fixes and luxury/editorial refinement */
.home-install-cta{margin-top:12px;width:100%;border:1px solid rgba(205,186,154,.72);background:linear-gradient(180deg,#fffdfa,#f5ecde);border-radius:15px;padding:12px 13px;display:grid;grid-template-columns:38px 1fr 16px;gap:10px;align-items:center;text-align:left;color:#2a241d;box-shadow:0 10px 22px rgba(37,27,17,.04)}
.home-install-cta span{width:34px;height:34px;border-radius:12px;background:linear-gradient(180deg,#1a3029,#29483d);color:#fff;display:grid;place-items:center;font-size:15px;box-shadow:0 7px 16px rgba(20,39,32,.16)}
.home-install-cta div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.home-install-cta strong{font-size:11.5px}
.home-install-cta small{font-size:8.5px;color:#8a7962;margin-top:2px;line-height:1.35}
.home-install-cta b{font-size:18px;color:#a18251;font-weight:400}

/* fix home image crop to hide embedded text */
.event-image-wrap{height:100%;overflow:hidden!important}
.event-image-wrap img{object-position:center 4%!important;transform:scale(1.04)!important}
.event-image-wrap:after{height:82px!important;background:linear-gradient(180deg,rgba(250,245,238,0),rgba(250,245,238,.80) 50%, rgba(250,245,238,.98) 78%, rgba(250,245,238,1))!important}
.wedding-hero img{object-position:center 10%!important}

/* music rows cleaner, no overlap */
.music-row{grid-template-columns:64px 1fr 18px!important;align-items:center!important;padding:12px!important;border-radius:18px!important;min-height:88px}
.music-row>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px;min-width:0}
.music-row img{width:64px!important;height:64px!important;border-radius:15px!important;flex-shrink:0}
.music-row strong{display:block!important;font-size:14px!important;line-height:1.15!important;letter-spacing:-.01em}
.music-row small{display:block!important;margin-top:0!important;font-size:10px!important;line-height:1.35!important;color:#7d7770;max-width:100%}
.music-row .state{display:inline-flex!important;margin-top:3px!important;align-self:flex-start}
.music-row b{align-self:center}

.layout-photo{height:214px!important;border-radius:20px 20px 0 0;overflow:hidden}
.layout-tag{position:absolute;left:14px;bottom:14px;padding:6px 10px;border-radius:999px;background:rgba(255,253,249,.92);backdrop-filter:blur(10px);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#6f5730;font-weight:700;z-index:1}
.layout-choice-copy{padding:16px 16px 18px!important;gap:10px!important}
.layout-choice-copy strong{font-size:27px!important}
.layout-choice-copy p{font-size:11px!important;line-height:1.62!important}

@media (min-width:1080px){
  .view[data-view="home"].active{grid-template-columns:1.26fr .74fr!important;gap:24px!important}
  .view[data-view="home"] .event-image-wrap{height:450px!important}
  .view[data-view="home"] .event-card{border-radius:26px!important;overflow:hidden!important}
  .view[data-view="home"] .event-card div{padding:24px 22px 20px!important}
  .view[data-view="home"] .event-card strong{font-size:32px!important;line-height:1.03!important}
  .view[data-view="home"] .home-grid{gap:18px!important}
  .view[data-view="home"] .home-grid button{min-height:144px!important;padding:20px!important;border-radius:24px!important}
  .view[data-view="home"] .home-grid button strong{font-size:17px!important;line-height:1.22!important}
  .view[data-view="home"] .home-status{padding:18px!important;border-radius:22px!important}

  .view[data-view="music"].active{grid-template-columns:1fr!important;gap:18px!important}
  .view[data-view="music"] .music-list{grid-template-columns:1fr 1fr!important;gap:18px!important}
  .view[data-view="music"] .music-row{min-height:116px!important;padding:16px!important;grid-template-columns:82px 1fr 18px!important}
  .view[data-view="music"] .music-row img{width:82px!important;height:82px!important;border-radius:18px!important}
  .view[data-view="music"] .music-row strong{font-size:18px!important}
  .view[data-view="music"] .music-row small{font-size:11.5px!important;max-width:95%}
  .view[data-view="music"] .music-row .state{font-size:8px!important;padding:4px 8px!important}
  .view[data-view="music"] .music-specials{grid-template-columns:1fr 1fr!important;gap:16px!important}

  .view[data-view="calendar"].active{grid-template-columns:.88fr 1.12fr!important;gap:22px!important}
  .view[data-view="calendar"] .calendar-card{padding:30px!important}
  .view[data-view="calendar"] .calendar-card strong{font-size:36px!important}
  .timeline{gap:14px!important}
  .timeline article{grid-template-columns:88px 1fr!important;padding:18px 18px 18px 20px!important;border-radius:20px!important}
  .timeline b{font-size:14px!important}
  .timeline strong{font-size:16px!important}
  .timeline span{font-size:11.5px!important}

  .layout-gallery{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important}
  .layout-photo{height:238px!important}
}


/* V24 premium refinements */
.profile-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px!important}
.profile-head img{display:block}
.profile-photo-link{border:1px solid rgba(205,186,154,.78);background:linear-gradient(180deg,#fffdfa,#f6ede1);border-radius:999px;padding:8px 14px;font-size:10px;color:#7c6132;box-shadow:0 8px 18px rgba(34,24,14,.04)}
.profile-photo-link:hover{transform:translateY(-1px)}

/* Center layout modal on desktop and make layouts feel premium */
@media (min-width:1080px){
  .sheet-panel.layout-sheet{left:50%!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(1120px,calc(100vw - 120px))!important;max-height:86vh!important;border-radius:32px!important;padding:18px 24px calc(20px + env(safe-area-inset-bottom))!important;box-shadow:0 36px 80px rgba(22,18,13,.22)!important}
  .sheet-panel.layout-sheet .sheet-head{max-width:760px;margin:0 auto 16px!important;text-align:center}
  .sheet-panel.layout-sheet .sheet-head h3{font-size:42px!important;line-height:1.02!important}
  .sheet-panel.layout-sheet .sheet-head p{font-size:13px!important;max-width:720px;margin:0 auto!important}
  .sheet-panel.layout-sheet #sheetContent{max-width:none!important}
  .sheet-panel.layout-sheet .layout-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch}
  .sheet-panel.layout-sheet .layout-choice{display:grid!important;grid-template-rows:250px 1fr!important;min-height:560px!important;border-radius:24px!important}
  .sheet-panel.layout-sheet .layout-photo{height:250px!important}
  .sheet-panel.layout-sheet .layout-choice-copy{padding:18px 18px 20px!important}
  .sheet-panel.layout-sheet .layout-choice-copy strong{font-size:34px!important;line-height:1.02!important}
  .sheet-panel.layout-sheet .layout-choice-copy p{font-size:12.5px!important;line-height:1.7!important}
  .sheet-panel.layout-sheet .layout-confirm{position:sticky!important;bottom:calc(-20px - env(safe-area-inset-bottom))!important;grid-template-columns:220px 1fr!important;max-width:620px!important;margin:20px auto calc(-20px - env(safe-area-inset-bottom))!important;padding:14px 0 calc(16px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(251,248,243,0),rgba(251,248,243,.97) 28%, rgba(251,248,243,1))!important;border-top:none!important}
}

/* Desktop premium polish */
@media (min-width:1080px){
  body{background:radial-gradient(circle at top,rgba(255,255,255,.7) 0,rgba(255,255,255,0) 26%),linear-gradient(180deg,#e9dfd1 0%,#f5efe6 24%,#fbf8f2 58%,#eee5da 100%)!important}
  .phone-shell{width:min(1440px,calc(100vw - 44px))!important;box-shadow:0 40px 110px rgba(31,24,18,.16),inset 0 1px 0 rgba(255,255,255,.65)!important}
  .app-header{padding:16px 28px!important}
  .brand-pill img{width:134px!important;max-width:134px!important}
  main{padding:28px 28px 96px!important}
  .page-title h2{font-size:42px!important}
  .view[data-view="home"] .event-card strong{font-size:34px!important}
  .view[data-view="home"] .event-card span{font-size:14px!important}
  .view[data-view="home"] .home-status{padding:20px!important;border-radius:24px!important}
  .view[data-view="profile"] .profile-head{min-height:250px!important;padding:28px 0 24px!important}
  .view[data-view="profile"] .profile-head img{width:112px!important;height:112px!important}
  .view[data-view="profile"] .profile-links button strong{font-size:13px!important}
}


/* V25 refinements */
.profile-photo-stack{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:2px}
.profile-photo-link{margin-top:0!important;position:static!important}
.profile-photo-note{display:block;max-width:260px;text-align:center;font-size:9px;line-height:1.45;color:#8a7d6d}
.info-list{grid-template-columns:1fr!important}
@media(min-width:1080px){.info-list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}}
.profile-head{padding-top:26px!important}
.profile-head h3{margin-top:4px!important}
.profile-head p{margin-top:0!important}
.profile-brand-mark{right:20px!important;top:20px!important}
.sheet-panel.layout-sheet .layout-choice-copy{display:flex;flex-direction:column;justify-content:space-between}
.sheet-panel.layout-sheet .layout-confirm{padding-left:6px!important;padding-right:6px!important}
.optional-note{line-height:1.5!important}
@media (min-width:1080px){
  .view[data-view="profile"] .profile-head{min-height:270px!important}
  .view[data-view="profile"] .profile-photo-stack img{width:118px!important;height:118px!important}
  .view[data-view="profile"] .profile-photo-note{max-width:330px;font-size:10px!important}
}


/* V26 refinements */
.home-greeting-note{margin-top:4px;font-size:10px;line-height:1.45;color:#8c7f70;letter-spacing:.02em}
.home-greeting h2{font-size:29px!important;line-height:1.04;letter-spacing:-.03em}
.event-card-editorial .event-image-wrap{position:relative;height:240px;border-radius:18px;overflow:hidden}
.event-card-editorial .event-image-wrap img{height:100%!important;width:100%!important;object-fit:cover;object-position:center 28%;filter:saturate(1.02) contrast(.98)}
.event-card-editorial .event-image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,13,.06),rgba(18,16,13,.12) 42%,rgba(18,16,13,.58));pointer-events:none}
.event-editorial-copy{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;text-align:left}
.event-editorial-copy small{display:block;font-size:8px;letter-spacing:.22em;color:rgba(255,244,228,.84);margin-bottom:8px}
.event-editorial-copy strong{display:block;font-family:Georgia,serif;font-size:28px;line-height:1.05;text-shadow:0 6px 24px rgba(0,0,0,.22)}
.event-editorial-copy span{display:block;margin-top:8px;font-size:11px;color:rgba(255,250,243,.9)!important}
.event-card-editorial>div:last-child{display:block}
.music-art{width:62px;height:62px;border-radius:17px;display:grid;place-items:center;flex-shrink:0;box-shadow:0 8px 18px rgba(0,0,0,.08);border:1px solid rgba(220,208,191,.95);background:linear-gradient(145deg,#fffdf9,#f1e9df)}
.music-art span{font-size:26px;color:#8f7449;line-height:1}
.music-art.ceremony{background:linear-gradient(145deg,#fffaf4,#f6ede1)}
.music-art.entrances{background:linear-gradient(145deg,#f5f0eb,#eadfce)}
.music-art.cocktail{background:linear-gradient(145deg,#faf7f2,#efe6db)}
.music-art.dinner{background:linear-gradient(145deg,#f8f1e8,#eadbcc)}
.music-art.cake{background:linear-gradient(145deg,#fffaf5,#f4e4d5)}
.music-art.dance{background:linear-gradient(145deg,#f8f3ee,#ece2d6)}
.music-art.party{background:linear-gradient(145deg,#f5ede5,#e5d6c5)}
.music-row{grid-template-columns:72px 1fr 18px!important}
.music-row:hover .music-art{transform:translateY(-1px);box-shadow:0 12px 24px rgba(31,22,13,.08)}
.wedding-hero img{object-position:center 32%!important}
.service-conditions-card{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 14px 28px rgba(34,24,14,.04)}
.service-conditions-card small{display:block;font-size:8px;letter-spacing:.18em;color:#9a8666;margin-bottom:7px}
.service-conditions-card strong{display:block;font-family:Georgia,serif;font-size:18px;line-height:1.25;margin-bottom:8px;color:#1f1b16}
.service-conditions-card p{margin:0;font-size:11px;line-height:1.6;color:#6d675f}
.info-card-sheet{padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.78);margin:10px 0 12px}
.info-card-sheet small{display:block;font-size:8px;letter-spacing:.18em;color:#9a8666;margin-bottom:8px}
.info-card-sheet strong{display:block;font-family:Georgia,serif;font-size:18px;line-height:1.25;margin-bottom:8px;color:#1f1b16}
.info-card-sheet p{margin:0 0 8px;font-size:11px;line-height:1.58;color:#6d675f}
.info-card-sheet p:last-child{margin-bottom:0}
.profile-photo-stack img{width:108px!important;height:108px!important;object-fit:cover;object-position:center 30%;border-radius:50%;box-shadow:0 12px 24px rgba(37,27,17,.08)}
.profile-photo-link{padding:6px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.88)!important;border:1px solid rgba(220,208,191,.95)!important;color:#8f7449!important;box-shadow:0 6px 14px rgba(30,22,14,.04)}
.profile-photo-note{margin-top:4px!important}
.schedule-toolbar .btn{min-width:220px}
@media(min-width:1080px){
  .view[data-view="home"] .home-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .view[data-view="home"] .home-grid button{min-height:108px!important}
  .view[data-view="home"] .event-card-editorial .event-image-wrap{height:360px!important}
  .event-editorial-copy{left:26px;right:26px;bottom:22px}
  .event-editorial-copy strong{font-size:42px}
  .event-editorial-copy span{font-size:14px}
  .view[data-view="music"] .music-row{grid-template-columns:88px 1fr 18px!important}
  .view[data-view="music"] .music-art{width:84px;height:84px;border-radius:22px}
  .view[data-view="music"] .music-art span{font-size:34px}
  .service-conditions-card{padding:24px;border-radius:22px}
  .service-conditions-card strong{font-size:24px}
}


/* V27 — final wow / premium desktop */
.event-card-editorial>.event-image-wrap{display:block!important}
.event-card-editorial{background:#151d19!important;border-color:rgba(197,148,36,.22)!important;box-shadow:0 26px 58px rgba(24,20,15,.11)!important}
.event-card-editorial .event-image-wrap img{filter:saturate(1.06) contrast(1.01)!important;transform:scale(1.01)!important}
.event-card-editorial .event-image-wrap:after{background:linear-gradient(180deg,rgba(10,14,12,.03),rgba(10,14,12,.12) 42%,rgba(10,14,12,.72))!important}
.event-editorial-copy small{color:#e1c98d!important}
.event-editorial-copy strong{font-size:30px!important;color:#fff!important}
.event-editorial-copy span{color:rgba(255,255,255,.92)!important}
.home-greeting{padding:4px 0 5px}
.home-greeting h2{color:#1d1915!important}
.home-greeting h2 span{color:#b88824!important}
.home-greeting-note{max-width:420px!important}
.home-grid button{background:linear-gradient(180deg,#fffefa,#f7f0e6)!important;border-color:rgba(203,184,153,.78)!important}
.home-grid button span{background:linear-gradient(145deg,#fffdf8,#f0e7db)!important;color:#9a793f!important}
.home-grid button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(37,27,17,.07)!important}
.home-status{background:linear-gradient(145deg,#fffdf9,#f6eee2)!important}
.home-install-cta{background:linear-gradient(180deg,#fdf9f2,#f1e6d7)!important}
.home-divider span{color:#a27b36!important}
.home-brand-seal{box-shadow:0 16px 34px rgba(20,17,13,.12)!important}
.profile-head{background:linear-gradient(145deg,#fffdf9,#f5ecdf)!important}
.profile-photo-stack img{width:116px!important;height:116px!important;border:4px solid rgba(255,255,255,.9)!important;box-shadow:0 16px 34px rgba(37,27,17,.12)!important}
.profile-brand-mark{opacity:.92}
.settings-grid{display:grid;gap:10px;margin-top:12px}
.settings-grid button{width:100%;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fffdfa,#f8f1e7);padding:14px;display:grid;grid-template-columns:38px 1fr 16px;gap:10px;align-items:center;text-align:left}
.settings-grid button>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#f1e7da;color:#8d6e3b;font-size:17px}
.settings-grid strong{display:block;font-size:12px}.settings-grid small{display:block;margin-top:3px;color:#81776a;font-size:9px}.settings-grid b{font-size:18px;color:#a18452;font-weight:400}
.help-cards{display:grid;gap:10px;margin:12px 0}.help-cards article{padding:15px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fffdfa,#f8f1e7)}
.help-cards small{display:block;font-size:8px;letter-spacing:.16em;color:#a1814f;margin-bottom:6px}.help-cards strong{display:block;font-family:Georgia,serif;font-size:18px;color:#211c16;margin-bottom:5px}.help-cards p{margin:0;font-size:10.5px;line-height:1.55;color:#746c63}
.layout-choice{box-shadow:0 16px 34px rgba(34,24,14,.045)!important}
.layout-choice.selected{transform:translateY(-3px);box-shadow:0 24px 48px rgba(88,62,20,.12),0 0 0 2px rgba(199,148,36,.13)!important}
.layout-choice.selected .layout-tag{background:#183229!important;color:#fff!important}
.layout-choice-copy small{color:#a27b36!important}
.layout-confirm .primary{box-shadow:0 14px 28px rgba(24,39,32,.14)!important}
@media(min-width:1080px){
  .view[data-view="home"].active{grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr)!important;gap:28px!important}
  .view[data-view="home"] .event-card-editorial{min-height:430px!important}
  .view[data-view="home"] .event-card-editorial .event-image-wrap{height:430px!important}
  .view[data-view="home"] .home-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;align-content:start!important}
  .view[data-view="home"] .home-grid button{min-height:128px!important;border-radius:23px!important}
  .view[data-view="home"] .home-grid button strong{font-size:16px!important}
  .view[data-view="home"] .home-status{padding:20px!important;border-radius:22px!important}
  .event-editorial-copy{left:30px!important;bottom:28px!important}
  .event-editorial-copy strong{font-size:44px!important}
  .event-editorial-copy small{font-size:9px!important}
  .event-editorial-copy span{font-size:14px!important}
  .profile-head{border-radius:26px!important}
  .profile-links{border-radius:22px!important}
  .sheet-panel.layout-sheet{width:min(1180px,calc(100vw - 100px))!important}
  .sheet-panel.layout-sheet .layout-choice{min-height:535px!important}
  .sheet-panel.layout-sheet .layout-photo{height:270px!important}
}


/* V28 — ETAPA 1: HOME FINAL / HERO */
.app-header{
  min-height:74px!important;
  padding-left:18px!important;
  padding-right:18px!important;
}
.header-brand.brand-lockup{overflow:visible!important}
.brand-pill{
  min-width:178px!important;
  height:42px!important;
  padding:9px 18px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  background:linear-gradient(145deg,#11221d,#1d342c)!important;
  border:1px solid rgba(199,148,36,.24)!important;
  box-shadow:0 10px 28px rgba(20,31,27,.12)!important;
}
.brand-pill img{
  width:145px!important;
  max-width:145px!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  overflow:visible!important;
}
.mp-icon-button{width:42px!important;height:42px!important;border-radius:14px!important}
.mp-icon-button img{width:19px!important;height:19px!important}

.home-greeting{padding:8px 0 10px!important}
.home-greeting .editorial-kicker{
  color:#9a7738!important;
  letter-spacing:.22em!important;
  font-size:8px!important;
}
.home-greeting h2{
  margin:6px 0 4px!important;
  font-size:34px!important;
  color:#1b1814!important;
}
.home-greeting h2 span{color:#b8892b!important}
.home-greeting p{font-size:12px!important;color:#6f685f!important;margin-bottom:4px!important}
.home-greeting-note{color:#978a79!important;font-size:10px!important}

.home-hero-final{
  border-radius:26px!important;
  background:#171d1a!important;
  overflow:hidden!important;
  border:1px solid rgba(188,151,84,.30)!important;
  box-shadow:0 28px 64px rgba(28,22,16,.15)!important;
}
.home-hero-final .event-image-wrap{
  height:310px!important;
  position:relative!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:25px!important;
  background:#151a17!important;
}
.home-hero-final .event-image-wrap img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 48%!important;
  transform:none!important;
  filter:saturate(1.04) contrast(1.02) brightness(.88)!important;
}
.home-hero-final .event-image-wrap:after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  height:auto!important;
  background:
    linear-gradient(90deg,rgba(10,15,13,.55) 0%,rgba(10,15,13,.15) 52%,rgba(10,15,13,.03) 76%),
    linear-gradient(180deg,rgba(10,13,11,.05) 28%,rgba(10,13,11,.18) 58%,rgba(10,13,11,.72) 100%)!important;
  pointer-events:none!important;
}
.hero-brand-line{
  position:absolute!important;
  left:22px!important;
  top:20px!important;
  z-index:3!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:rgba(14,28,23,.72)!important;
  border:1px solid rgba(199,148,36,.28)!important;
  backdrop-filter:blur(10px)!important;
  color:#e8c779!important;
  font-size:8px!important;
  letter-spacing:.18em!important;
  font-weight:700!important;
  text-transform:uppercase!important;
}
.home-hero-final .event-editorial-copy{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:20px!important;
  z-index:3!important;
  padding:18px 18px 16px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,rgba(14,25,21,.78),rgba(13,20,17,.57))!important;
  border:1px solid rgba(230,205,158,.20)!important;
  backdrop-filter:blur(10px)!important;
  color:#fff8ed!important;
  text-align:left!important;
  box-shadow:0 16px 34px rgba(0,0,0,.16)!important;
}
.home-hero-final .event-editorial-copy small{
  display:block!important;
  color:#e6c37c!important;
  font-size:8px!important;
  letter-spacing:.21em!important;
  margin-bottom:8px!important;
}
.home-hero-final .event-editorial-copy strong{
  display:block!important;
  margin:0!important;
  color:#fff8ed!important;
  font-family:Georgia,serif!important;
  font-size:28px!important;
  line-height:1.02!important;
  text-shadow:0 3px 16px rgba(0,0,0,.28)!important;
}
.home-hero-final .event-editorial-copy span{
  display:block!important;
  color:#f3eadf!important;
  margin-top:8px!important;
  font-size:11px!important;
}
.home-hero-final .event-editorial-copy b{color:#fff8ed!important;font-weight:500!important}
.home-hero-final .event-glow{display:none!important}

.home-grid button{
  background:linear-gradient(180deg,#fffdfa,#f8f2e9)!important;
  border:1px solid rgba(220,205,183,.9)!important;
  box-shadow:0 12px 28px rgba(31,23,16,.04)!important;
}
.home-grid button span{color:#9e782f!important}
.home-grid button:hover{transform:translateY(-2px)!important;box-shadow:0 18px 34px rgba(31,23,16,.07)!important}
.home-status{background:linear-gradient(180deg,#fffdf9,#f8f1e8)!important}

@media (min-width:1080px){
  .app-header{min-height:80px!important;padding-left:28px!important;padding-right:28px!important}
  .brand-pill{min-width:206px!important;height:46px!important;padding:10px 22px!important}
  .brand-pill img{width:166px!important;max-width:166px!important}
  .view[data-view="home"].active{
    grid-template-columns:minmax(0,1.32fr) minmax(400px,.68fr)!important;
    gap:28px!important;
  }
  .view[data-view="home"] .home-greeting{grid-column:1!important;grid-row:1!important}
  .view[data-view="home"] .home-hero-final{grid-column:1!important;grid-row:2 / span 2!important;min-height:480px!important}
  .view[data-view="home"] .home-hero-final .event-image-wrap{height:480px!important}
  .view[data-view="home"] .home-grid{grid-column:2!important;grid-row:1 / span 2!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
  .view[data-view="home"] .home-grid button{min-height:132px!important;padding:18px!important;border-radius:22px!important}
  .view[data-view="home"] .home-status{grid-column:1!important;grid-row:4!important}
  .hero-brand-line{left:28px!important;top:26px!important;font-size:9px!important;padding:8px 12px!important}
  .home-hero-final .event-editorial-copy{left:28px!important;right:auto!important;bottom:26px!important;width:min(560px,72%)!important;padding:22px 22px 20px!important}
  .home-hero-final .event-editorial-copy strong{font-size:42px!important}
  .home-hero-final .event-editorial-copy span{font-size:13px!important}
}

@media (max-width:640px){
  .app-header{min-height:68px!important;padding-left:12px!important;padding-right:12px!important}
  .brand-pill{min-width:145px!important;height:38px!important;padding:8px 14px!important}
  .brand-pill img{width:118px!important;max-width:118px!important}
  .mp-icon-button{width:38px!important;height:38px!important}
  .home-greeting h2{font-size:28px!important}
  .home-hero-final{border-radius:22px!important}
  .home-hero-final .event-image-wrap{height:295px!important;border-radius:21px!important}
  .hero-brand-line{left:14px!important;top:14px!important;font-size:7px!important;padding:6px 8px!important}
  .home-hero-final .event-editorial-copy{left:14px!important;right:14px!important;bottom:14px!important;padding:15px 15px 14px!important;border-radius:15px!important}
  .home-hero-final .event-editorial-copy strong{font-size:24px!important}
  .home-hero-final .event-editorial-copy span{font-size:10px!important}
  .home-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .home-grid button{min-height:96px!important;border-radius:16px!important}
}


/* V28.1 — Etapa 1 Home: imagens reais e nítidas Moment Pro */
.login-photo img{
  filter:none!important;
  transform:none!important;
  object-fit:cover!important;
  object-position:center 42%!important;
  image-rendering:auto!important;
}
.login-photo:before{
  background:linear-gradient(180deg,rgba(15,14,12,.02),rgba(15,14,12,.09) 58%,rgba(15,14,12,.34))!important;
}
.login-photo:after{
  background:linear-gradient(180deg,rgba(15,14,12,0) 48%,rgba(15,14,12,.26) 100%)!important;
}
.home-hero-final .event-image-wrap img{
  filter:none!important;
  transform:none!important;
  object-position:center 45%!important;
  image-rendering:auto!important;
}
.home-hero-final .event-image-wrap:after{
  background:
    linear-gradient(90deg,rgba(10,15,13,.33) 0%,rgba(10,15,13,.08) 48%,rgba(10,15,13,.02) 78%),
    linear-gradient(180deg,rgba(10,13,11,.01) 30%,rgba(10,13,11,.10) 60%,rgba(10,13,11,.64) 100%)!important;
}
.hero-brand-line{
  background:rgba(15,29,24,.84)!important;
  color:#f0cd7d!important;
  box-shadow:0 10px 25px rgba(0,0,0,.11)!important;
}
.home-hero-final .event-editorial-copy{
  background:linear-gradient(145deg,rgba(13,26,21,.89),rgba(14,24,20,.75))!important;
  border-color:rgba(232,205,152,.24)!important;
}
@media (min-width:1080px){
  .login-photo img{object-position:center 43%!important}
  .home-hero-final .event-image-wrap img{object-position:center 48%!important}
}
@media (max-width:640px){
  .login-photo img{object-position:center 38%!important}
  .home-hero-final .event-image-wrap img{object-position:center 46%!important}
}


/* V28.2 — Etapa 1: imagens glamour locais e nítidas */
.login-content-brand{display:flex;justify-content:center;align-items:center;margin:0 auto 14px}
.login-content-brand img{display:block;width:156px;max-width:48%;height:auto;padding:9px 14px;border-radius:999px;background:linear-gradient(145deg,#14231f,#233830);box-shadow:0 10px 24px rgba(20,26,22,.10)}
.login-photo img{filter:none!important;transform:none!important;image-rendering:auto!important;object-fit:cover!important;object-position:center 40%!important}
.login-photo:before{background:linear-gradient(180deg,rgba(15,14,12,.02),rgba(15,14,12,.04) 55%,rgba(15,14,12,.16))!important}
.login-photo:after{background:linear-gradient(180deg,rgba(15,14,12,0) 60%,rgba(15,14,12,.18) 100%)!important}
.login-logo{display:none!important}

.home-hero-final .event-image-wrap img{filter:none!important;transform:none!important;object-fit:cover!important;object-position:center 46%!important;image-rendering:auto!important}
.home-hero-final .event-image-wrap:after{
  background:
    linear-gradient(90deg,rgba(9,14,12,.18) 0%,rgba(9,14,12,.04) 50%,rgba(9,14,12,.01) 80%),
    linear-gradient(180deg,rgba(8,12,10,.01) 38%,rgba(8,12,10,.08) 58%,rgba(8,12,10,.65) 100%)!important;
}
.hero-brand-line{top:18px!important;left:18px!important;background:rgba(15,29,24,.80)!important;backdrop-filter:blur(10px)!important}
.home-hero-final .event-editorial-copy{left:18px!important;right:auto!important;bottom:18px!important;width:min(520px,72%)!important;background:linear-gradient(145deg,rgba(13,25,21,.88),rgba(12,20,17,.69))!important}

@media (min-width:1080px){
  .login-photo img{object-position:center 38%!important}
  .login-content-brand img{width:176px;max-width:176px}
  .view[data-view="home"] .home-hero-final .event-image-wrap{height:480px!important}
  .home-hero-final .event-image-wrap img{object-position:center 47%!important}
  .hero-brand-line{left:26px!important;top:24px!important}
  .home-hero-final .event-editorial-copy{left:26px!important;bottom:24px!important;width:min(540px,68%)!important}
}
@media (max-width:640px){
  .login-photo img{object-position:center 38%!important}
  .login-content-brand{margin-bottom:10px}
  .login-content-brand img{width:138px;max-width:58%}
  .home-hero-final .event-image-wrap{height:300px!important}
  .home-hero-final .event-image-wrap img{object-position:center 50%!important}
  .hero-brand-line{left:12px!important;top:12px!important}
  .home-hero-final .event-editorial-copy{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;padding:14px!important}
}


/* V28.3 — Etapa 1: enquadramento da Home + hierarquia editorial */
.home-greeting{
  position:relative;
  padding:10px 0 14px!important;
}
.home-greeting:after{
  content:'';
  display:block;
  width:44px;
  height:2px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg,#b98b2d,rgba(185,139,45,.08));
}
.home-greeting .editorial-kicker{
  color:#21382f!important;
  font-size:7.5px!important;
  font-weight:700!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  margin-bottom:7px!important;
}
.home-greeting h2{
  margin:0 0 5px!important;
  color:#1c1915!important;
  font-size:35px!important;
  line-height:1!important;
  font-weight:600!important;
}
.home-greeting h2 span{
  color:#1c1915!important;
}
.home-greeting p{
  color:#756c61!important;
  font-size:12px!important;
  margin:0 0 4px!important;
}
.home-greeting-note{
  color:#9a8d7d!important;
  font-size:9.5px!important;
  line-height:1.5!important;
}

/* Mostrar a fotografia horizontal completa no desktop, sem cortar cabeças */
.home-hero-final .event-image-wrap{
  height:auto!important;
  aspect-ratio:1672 / 941!important;
}
.home-hero-final .event-image-wrap img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.home-hero-final .event-image-wrap:after{
  background:
    linear-gradient(90deg,rgba(8,13,11,.13) 0%,rgba(8,13,11,.02) 55%,rgba(8,13,11,0) 82%),
    linear-gradient(180deg,rgba(8,12,10,0) 44%,rgba(8,12,10,.06) 62%,rgba(8,12,10,.58) 100%)!important;
}

@media (min-width:1080px){
  .view[data-view="home"] .home-hero-final{
    min-height:0!important;
    height:auto!important;
  }
  .view[data-view="home"] .home-hero-final .event-image-wrap{
    height:auto!important;
    aspect-ratio:1672 / 941!important;
  }
  .home-greeting h2{font-size:38px!important}
}

/* No telemóvel: mais altura, foco nos rostos, sem perder o glamour */
@media (max-width:640px){
  .home-greeting{padding-top:6px!important}
  .home-greeting .editorial-kicker{font-size:7px!important;letter-spacing:.20em!important}
  .home-greeting h2{font-size:29px!important}
  .home-hero-final .event-image-wrap{
    height:318px!important;
    aspect-ratio:auto!important;
  }
  .home-hero-final .event-image-wrap img{
    object-fit:cover!important;
    object-position:center 34%!important;
  }
}


/* V28.5 — manter a composição fina da V28.3, apenas com lettering luxury */
.home-greeting h2#homeNames{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  margin:0 0 5px!important;
  font-family:Georgia,serif!important;
  font-size:35px!important;
  line-height:1!important;
  font-weight:600!important;
}
.home-greeting #homeNames .home-bride,
.home-greeting #homeNames .home-groom{
  color:#18322a!important;
}
.home-greeting #homeNames .home-amp{
  color:#bd8e32!important;
  font-size:.78em!important;
  font-style:italic!important;
  font-weight:500!important;
}
@media(min-width:1080px){
  .home-greeting h2#homeNames{font-size:38px!important}
}
@media(max-width:640px){
  .home-greeting h2#homeNames{font-size:29px!important;gap:5px!important}
}


/* V28.6 — Etapa 1: fotografia integral + lettering inferior sempre visível */
.home-hero-final{
  overflow:hidden!important;
}
.home-hero-final .event-image-wrap{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1672 / 941!important;
  overflow:hidden!important;
  background:#111914!important;
  border-radius:22px!important;
}
.home-hero-final .event-image-wrap img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
}
.home-hero-final .event-image-wrap:after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(8,13,11,.01) 0%,rgba(8,13,11,.02) 58%,rgba(8,13,11,.34) 100%)!important;
}
.home-hero-final .hero-brand-line{
  top:20px!important;
  left:20px!important;
  padding:11px 15px!important;
  margin:0!important;
  z-index:4!important;
}
.home-hero-final .event-editorial-copy{
  position:absolute!important;
  left:22px!important;
  right:auto!important;
  bottom:22px!important;
  width:min(500px,calc(100% - 44px))!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:16px 18px 15px!important;
  border-radius:17px!important;
  overflow:visible!important;
  z-index:5!important;
  background:linear-gradient(145deg,rgba(12,25,20,.92),rgba(12,20,17,.78))!important;
  border:1px solid rgba(215,181,108,.22)!important;
  box-shadow:0 15px 34px rgba(0,0,0,.16)!important;
}
.home-hero-final .event-editorial-copy small{
  display:block!important;
  margin:0 0 7px!important;
  padding:0!important;
  font-size:8px!important;
  line-height:1.2!important;
  color:#e3c98b!important;
}
.home-hero-final .event-editorial-copy strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-size:30px!important;
  line-height:1.08!important;
  color:#fffdf8!important;
  white-space:normal!important;
}
.home-hero-final .event-editorial-copy span{
  display:block!important;
  margin:7px 0 0!important;
  padding:0!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#fff8ed!important;
}

@media (min-width:1080px){
  .view[data-view="home"] .home-hero-final,
  .view[data-view="home"] .home-hero-final .event-image-wrap{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1672 / 941!important;
  }
  .home-hero-final .event-editorial-copy{
    left:24px!important;
    bottom:24px!important;
    width:min(500px,64%)!important;
  }
  .home-hero-final .event-editorial-copy strong{font-size:32px!important}
}

/* No mobile, a foto continua inteira e a informação fica abaixo, sem tapar rostos */
@media (max-width:640px){
  .home-hero-final .event-image-wrap{
    height:auto!important;
    aspect-ratio:1672 / 941!important;
    overflow:visible!important;
    background:#111914!important;
    padding-bottom:0!important;
  }
  .home-hero-final .event-image-wrap img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:1672 / 941!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .home-hero-final .event-image-wrap:after{
    bottom:auto!important;
    height:100%!important;
    background:linear-gradient(180deg,rgba(8,13,11,.01),rgba(8,13,11,.12))!important;
  }
  .home-hero-final .hero-brand-line{
    top:10px!important;
    left:10px!important;
    padding:8px 10px!important;
    font-size:6.5px!important;
  }
  .home-hero-final .event-editorial-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    margin:0!important;
    border-radius:0 0 18px 18px!important;
    padding:14px 14px 15px!important;
    background:linear-gradient(145deg,#10221c,#182d25)!important;
    box-shadow:none!important;
  }
  .home-hero-final .event-editorial-copy strong{font-size:23px!important}
  .home-hero-final .event-editorial-copy span{font-size:10px!important}
}


/* V28.7 — Etapa 1: subir apenas o bloco inferior da Home */
@media (min-width:641px){
  .home-hero-final .event-editorial-copy{
    bottom:72px!important;
  }
}
@media (min-width:1080px){
  .home-hero-final .event-editorial-copy{
    bottom:74px!important;
  }
}


/* V29 — Ponto 2: O nosso casamento */
.wedding-page-title small{display:block;margin-bottom:7px;font-size:8px;letter-spacing:.2em;color:#b28a46;font-weight:800}
.wedding-page-title p{max-width:420px!important}
.wedding-editorial-card{display:grid;grid-template-columns:1fr 104px;gap:18px;align-items:center;padding:20px;border-radius:22px;background:linear-gradient(145deg,#14231f 0%,#203a31 70%,#172822 100%);color:#fff;border:1px solid rgba(199,148,36,.18);box-shadow:0 18px 38px rgba(22,31,27,.10);position:relative;overflow:hidden}
.wedding-editorial-card:after{content:'';position:absolute;width:180px;height:180px;right:-68px;top:-70px;border-radius:50%;background:radial-gradient(circle,rgba(199,148,36,.13),transparent 68%)}
.wedding-editorial-main{position:relative;z-index:1}
.wedding-editorial-main>small{display:block;font-size:8px;letter-spacing:.22em;color:#d0aa63;margin-bottom:8px}
.wedding-editorial-main h3{margin:0;font-family:Georgia,serif;font-size:30px;line-height:1.05;color:#fff}
.wedding-editorial-main p{margin:8px 0 4px;font-size:12px;color:#f0e6d7}
.wedding-editorial-main span{display:block;font-size:10px;color:rgba(255,255,255,.74)}
.wedding-editorial-main span b{font-weight:600;color:#fff}
.wedding-countdown{position:relative;z-index:1;min-height:102px;border-left:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.wedding-countdown strong{font-family:Georgia,serif;font-size:34px;line-height:1;color:#d8b36b}
.wedding-countdown span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#fff;margin-top:4px}
.wedding-countdown small{font-size:8px;color:rgba(255,255,255,.52);margin-top:4px}
.wedding-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.wedding-detail-card{width:100%;display:grid;grid-template-columns:42px 1fr 16px;gap:10px;align-items:center;text-align:left;padding:14px;border:1px solid rgba(220,208,191,.9);border-radius:18px;background:linear-gradient(180deg,#fffdfa,#faf5ed);box-shadow:0 11px 24px rgba(34,24,14,.035);transition:transform .2s ease,box-shadow .2s ease}
.wedding-detail-card:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(34,24,14,.055)}
.wedding-detail-card .info-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(180deg,#f7efe3,#fff);border:1px solid rgba(199,148,36,.18);color:#9b7b47;font-size:18px}
.wedding-detail-card small{display:block;font-size:7px;letter-spacing:.15em;color:#a08459;font-weight:800}
.wedding-detail-card strong{display:block;margin-top:3px;font-size:12px;color:#27221c;line-height:1.25}
.wedding-detail-card>b{font-size:18px;font-weight:400;color:#a18456}
.wedding-hours-card{width:100%;margin-top:10px;display:grid;grid-template-columns:1fr 18px;align-items:center;text-align:left;padding:15px 16px;border-radius:18px;border:1px solid rgba(199,148,36,.30);background:linear-gradient(135deg,#fbf4e9,#fffdfa);box-shadow:0 12px 24px rgba(34,24,14,.035)}
.wedding-hours-card small{display:block;font-size:7px;letter-spacing:.17em;color:#9e7e49;font-weight:800}
.wedding-hours-card strong{display:block;font-family:Georgia,serif;font-size:16px;color:#2a231a;margin:4px 0 2px}
.wedding-hours-card span{display:block;font-size:9px;color:#82786c}
.wedding-hours-card>b{font-size:20px;font-weight:400;color:#9e7e49}
.wedding-lower-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.wedding-contacts-card{margin:0!important;padding:16px!important;border-radius:18px!important;background:linear-gradient(180deg,#fffdfa,#faf5ed)!important}
.wedding-contacts-card .contact-title{display:flex;flex-direction:column;margin-bottom:12px}
.wedding-contacts-card .contact-title small{font-size:7px;letter-spacing:.16em;color:#a08459;font-weight:800}
.wedding-contacts-card .contact-title strong{font-family:Georgia,serif;font-size:18px;margin-top:3px;color:#27221c}
.contact-lines{display:grid;gap:7px}
.wedding-contacts-card .contact-lines p{margin:0!important;display:flex;justify-content:space-between;gap:14px;font-size:11px!important;color:#51483e}
.wedding-contacts-card .contact-lines p b{font-weight:700;color:#27221c}
.wedding-contacts-card .contact-email{justify-content:flex-start!important;color:#81786e!important}
.wedding-contacts-card .text-action{margin-top:12px!important;padding-top:10px!important;border-top:1px solid rgba(220,208,191,.65)!important;width:100%;text-align:left}
.wedding-layout-premium{margin:0!important;border-radius:18px!important;min-height:96px!important}
.wedding-review-btn{margin-top:12px!important;height:48px!important;border-radius:15px!important}

@media(min-width:1080px){
  .view[data-view="wedding"].active{display:grid!important;grid-template-columns:1.12fr .88fr!important;gap:18px!important;align-content:start}
  .view[data-view="wedding"] .wedding-page-title{grid-column:1 / -1!important}
  .view[data-view="wedding"] .wedding-editorial-card{grid-column:1 / -1!important;grid-row:auto!important;padding:26px 28px!important;grid-template-columns:1fr 150px!important;border-radius:26px!important}
  .wedding-editorial-main h3{font-size:42px!important}
  .wedding-editorial-main p{font-size:14px!important}
  .wedding-editorial-main span{font-size:12px!important}
  .wedding-countdown{min-height:126px!important}
  .wedding-countdown strong{font-size:46px!important}
  .view[data-view="wedding"] .wedding-detail-grid{grid-column:1!important;grid-row:auto!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:0!important}
  .wedding-detail-card{min-height:100px!important;padding:17px!important}
  .wedding-detail-card strong{font-size:14px!important}
  .view[data-view="wedding"] .wedding-hours-card{grid-column:1!important;grid-row:auto!important;margin-top:0!important;padding:18px 20px!important}
  .wedding-hours-card strong{font-size:20px!important}
  .view[data-view="wedding"] .wedding-lower-grid{grid-column:2!important;grid-row:3 / span 2!important;margin-top:0!important;display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .wedding-contacts-card{min-height:168px!important;padding:20px!important}
  .wedding-layout-premium{min-height:126px!important;grid-template-columns:108px 1fr 18px!important}
  .wedding-layout-premium .layout-card-image{width:108px!important;height:94px!important}
  .view[data-view="wedding"] .wedding-review-btn{grid-column:1 / -1!important;grid-row:auto!important;margin-top:0!important;justify-self:end;width:320px!important}
}

@media(max-width:520px){
  .wedding-editorial-card{grid-template-columns:1fr 78px;padding:17px 16px;border-radius:20px}
  .wedding-editorial-main h3{font-size:25px}
  .wedding-countdown{min-height:86px}
  .wedding-countdown strong{font-size:29px}
  .wedding-detail-grid{grid-template-columns:1fr!important}
  .wedding-detail-card{min-height:72px}
  .wedding-hours-card strong{font-size:15px}
}


/* V29.1 — Point 2 refinements */
.wedding-layout-premium{
  min-height:78px!important;
  grid-template-columns:70px 1fr 16px!important;
  padding:10px!important;
  gap:10px!important;
}
.wedding-layout-premium .layout-card-image{
  width:70px!important;
  height:58px!important;
  border-radius:12px!important;
}
.wedding-layout-premium .layout-card-copy small{
  font-size:6.5px!important;
  letter-spacing:.14em!important;
}
.wedding-layout-premium .layout-card-copy strong{
  font-size:15px!important;
  margin:2px 0 1px!important;
}
.wedding-layout-premium .layout-card-copy em{
  font-size:8.5px!important;
  line-height:1.25!important;
}
.wedding-layout-premium>b{font-size:17px!important}
.wedding-hours-card{cursor:pointer}
.wedding-hours-card:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(34,24,14,.05)}
@media (min-width:1080px){
  .view[data-view="wedding"] .wedding-lower-grid{
    gap:12px!important;
  }
  .wedding-layout-premium{
    min-height:86px!important;
    grid-template-columns:78px 1fr 16px!important;
    padding:11px 12px!important;
  }
  .wedding-layout-premium .layout-card-image{
    width:78px!important;
    height:66px!important;
  }
  .wedding-layout-premium .layout-card-copy strong{font-size:16px!important}
  .wedding-contacts-card{min-height:154px!important}
}


/* V29.2 — Point 2 luxury balance */
.wedding-side-kicker{display:none}
@media (min-width:1080px){
  .view[data-view="wedding"].active{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .view[data-view="wedding"] .wedding-page-title,
  .view[data-view="wedding"] .wedding-editorial-card,
  .view[data-view="wedding"] .wedding-detail-grid,
  .view[data-view="wedding"] .wedding-hours-card,
  .view[data-view="wedding"] .wedding-lower-grid,
  .view[data-view="wedding"] .wedding-review-btn{
    grid-column:1!important;
    grid-row:auto!important;
  }

  .view[data-view="wedding"] .wedding-detail-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    margin-top:0!important;
  }
  .wedding-detail-card{
    min-height:78px!important;
    padding:12px 13px!important;
    grid-template-columns:34px 1fr 12px!important;
    gap:8px!important;
    border-radius:16px!important;
  }
  .wedding-detail-card .info-icon{
    width:34px!important;height:34px!important;border-radius:12px!important;font-size:15px!important;
  }
  .wedding-detail-card strong{font-size:12.5px!important}
  .wedding-detail-card small{font-size:6.5px!important;letter-spacing:.14em!important}
  .wedding-detail-card>b{font-size:15px!important}

  .view[data-view="wedding"] .wedding-hours-card{
    min-height:72px!important;
    padding:13px 16px!important;
    border-radius:16px!important;
    margin:0!important;
    grid-template-columns:1fr 16px!important;
  }
  .wedding-hours-card strong{font-size:17px!important;margin:3px 0 1px!important}
  .wedding-hours-card span{font-size:8.5px!important}

  .view[data-view="wedding"] .wedding-lower-grid{
    display:grid!important;
    grid-template-columns:1.12fr .88fr!important;
    gap:14px!important;
    margin-top:0!important;
    padding:16px!important;
    border:1px solid rgba(220,208,191,.78);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,253,250,.90),rgba(247,241,232,.80));
    box-shadow:0 16px 34px rgba(34,24,14,.035);
    position:relative;
    overflow:hidden;
  }
  .view[data-view="wedding"] .wedding-lower-grid:after{
    content:'';position:absolute;right:-56px;bottom:-68px;width:180px;height:180px;border-radius:50%;
    border:1px solid rgba(199,148,36,.10);box-shadow:0 0 0 22px rgba(199,148,36,.025);pointer-events:none;
  }
  .wedding-side-kicker{
    display:flex!important;
    grid-column:1 / -1;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    padding:0 2px 2px;
    position:relative;z-index:1;
  }
  .wedding-side-kicker small{font-size:7px;letter-spacing:.18em;color:#9d7d49;font-weight:800}
  .wedding-side-kicker span{font-family:Georgia,serif;font-size:14px;color:#5f564c;font-style:italic}

  .wedding-contacts-card{
    min-height:0!important;
    padding:16px!important;
    border-radius:17px!important;
    box-shadow:none!important;
    position:relative;z-index:1;
  }
  .wedding-contacts-card .contact-title{margin-bottom:9px!important}
  .wedding-contacts-card .contact-title strong{font-size:16px!important}
  .wedding-contacts-card .contact-lines p{font-size:10px!important}
  .wedding-contacts-card .text-action{margin-top:9px!important;padding-top:8px!important;font-size:9px!important}

  .wedding-layout-premium{
    min-height:0!important;
    height:100%!important;
    grid-template-columns:88px 1fr 14px!important;
    padding:12px!important;
    border-radius:17px!important;
    box-shadow:none!important;
    position:relative;z-index:1;
  }
  .wedding-layout-premium .layout-card-image{width:88px!important;height:76px!important;border-radius:13px!important}
  .wedding-layout-premium .layout-card-copy strong{font-size:17px!important}
  .wedding-layout-premium .layout-card-copy em{font-size:8.5px!important}

  .view[data-view="wedding"] .wedding-review-btn{
    width:auto!important;
    min-width:230px!important;
    height:42px!important;
    padding:0 20px!important;
    margin:0!important;
    justify-self:end!important;
    border-radius:999px!important;
    font-size:11px!important;
    box-shadow:0 10px 22px rgba(20,31,27,.10)!important;
  }
}

@media (max-width:1079px){
  .wedding-detail-card{min-height:68px!important;padding:11px 12px!important}
  .wedding-hours-card{padding:13px 14px!important}
  .wedding-review-btn{height:44px!important;font-size:11px!important}
}


/* V29.3 — Wedding editorial composition */
.wedding-story-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:14px}
.wedding-story-info{padding:18px;border:1px solid rgba(220,208,191,.88);border-radius:22px;background:linear-gradient(180deg,#fffdfa 0%,#faf5ee 100%);box-shadow:0 16px 34px rgba(34,24,14,.035)}
.wedding-story-heading{margin-bottom:8px}
.wedding-story-heading small{display:block;font-size:7px;letter-spacing:.2em;color:#a17f49;font-weight:800;margin-bottom:6px}
.wedding-story-heading strong{display:block;font-family:Georgia,serif;font-size:22px;line-height:1.12;color:#241f19}
.wedding-story-heading p{margin:6px 0 0;font-size:10px;line-height:1.55;color:#7f766c}
.wedding-detail-lines{margin-top:10px;border-top:1px solid rgba(220,208,191,.8)}
.wedding-detail-line{width:100%;display:grid;grid-template-columns:34px 1fr 16px;align-items:center;gap:10px;text-align:left;padding:13px 2px;border:none;border-bottom:1px solid rgba(220,208,191,.72);background:transparent;color:#28221c;transition:padding-left .2s ease,background .2s ease}
.wedding-detail-line:hover{padding-left:5px;background:rgba(255,255,255,.5)}
.wedding-detail-line>span{font-family:Georgia,serif;font-size:18px;color:#c09343}
.wedding-detail-line small{display:block;font-size:6.5px;letter-spacing:.16em;color:#9d8055;font-weight:800}
.wedding-detail-line strong{display:block;margin-top:2px;font-size:12px;line-height:1.3;color:#28221c}
.wedding-detail-line>b{font-size:17px;font-weight:400;color:#ad8c58}
.wedding-hours-editorial{width:100%;margin-top:14px;display:grid;grid-template-columns:1fr 18px;align-items:center;text-align:left;padding:13px 14px;border-radius:15px;border:1px solid rgba(199,148,36,.28);background:linear-gradient(135deg,#f9f0e2,#fffdfa);color:#2a241d}
.wedding-hours-editorial small{display:block;font-size:6.5px;letter-spacing:.16em;color:#9c7c48;font-weight:800}
.wedding-hours-editorial strong{display:block;font-family:Georgia,serif;font-size:15px;margin:3px 0 1px;color:#2a231a}
.wedding-hours-editorial span{display:block;font-size:8.5px;color:#807568}
.wedding-hours-editorial>b{font-size:18px;font-weight:400;color:#9f7e49}
.wedding-layout-editorial{width:100%;margin-top:10px;display:grid;grid-template-columns:74px 1fr 16px;gap:11px;align-items:center;text-align:left;padding:10px;border:1px solid rgba(220,208,191,.9);border-radius:15px;background:#fffdf9;color:#28221c}
.wedding-layout-editorial .layout-card-image{width:74px!important;height:62px!important;border-radius:12px!important}
.wedding-layout-editorial .layout-card-copy small{display:block;font-size:6.5px!important;letter-spacing:.16em!important;color:#9e7f4d!important;font-weight:800!important}
.wedding-layout-editorial .layout-card-copy strong{display:block;font-family:Georgia,serif!important;font-size:16px!important;line-height:1.05!important;color:#28221c!important}
.wedding-layout-editorial .layout-card-copy em{display:block;margin-top:3px;font-size:8.5px!important;color:#80776d!important;font-style:normal!important}
.wedding-layout-editorial>b{font-size:17px;font-weight:400;color:#a18456}
.wedding-review-link{margin:12px 0 0;padding:0;border:none;background:transparent;color:#173029;font-size:10px;font-weight:800;letter-spacing:.03em;text-align:left}
.wedding-review-link span{color:#b68a43;margin-left:5px}
.wedding-story-visual{position:relative;min-height:430px;border-radius:24px;overflow:hidden;box-shadow:0 18px 42px rgba(32,22,14,.10);background:#191713}
.wedding-story-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.92) contrast(1.02)}
.wedding-story-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,12,9,.05) 20%,rgba(14,12,9,.18) 54%,rgba(14,12,9,.64) 100%);pointer-events:none}
.wedding-photo-caption{position:absolute;left:18px;right:18px;top:18px;z-index:2;color:#fff}
.wedding-photo-caption small{display:block;font-size:7px;letter-spacing:.19em;color:#f0d4a0;font-weight:800}
.wedding-photo-caption strong{display:block;margin-top:5px;max-width:250px;font-family:Georgia,serif;font-size:24px;line-height:1.06;text-shadow:0 5px 20px rgba(0,0,0,.22)}
.wedding-contact-overlay{position:absolute;z-index:3;left:14px;right:14px;bottom:14px;padding:14px;border-radius:16px;background:rgba(253,249,243,.94);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.45);box-shadow:0 16px 30px rgba(20,15,10,.16)}
.wedding-contact-overlay .contact-title{display:flex;flex-direction:column;margin-bottom:8px}
.wedding-contact-overlay .contact-title small{font-size:6.5px;letter-spacing:.16em;color:#a17f49;font-weight:800}
.wedding-contact-overlay .contact-title strong{font-family:Georgia,serif;font-size:15px;color:#28221c;margin-top:2px}
.wedding-contact-overlay .contact-lines p{margin:0!important;display:flex;justify-content:space-between;gap:12px;font-size:9.5px;color:#574e45}
.wedding-contact-overlay .contact-lines b{color:#28221c}
.wedding-contact-overlay .contact-email{justify-content:flex-start!important;color:#81776d!important}
.wedding-contact-overlay .text-action{margin-top:8px!important;padding-top:7px!important;border-top:1px solid rgba(220,208,191,.65)!important;width:100%;text-align:left;font-size:8.5px!important}

@media(min-width:1080px){
 .view[data-view="wedding"].active{display:block!important}
 .view[data-view="wedding"] .wedding-page-title,.view[data-view="wedding"] .wedding-editorial-card,.view[data-view="wedding"] .wedding-story-grid{width:100%!important}
 .wedding-story-grid{grid-template-columns:.88fr 1.12fr;gap:18px;align-items:stretch;margin-top:16px}
 .wedding-story-info{padding:22px 24px;border-radius:24px}
 .wedding-story-heading strong{font-size:28px}
 .wedding-story-heading p{font-size:11px}
 .wedding-detail-line{grid-template-columns:40px 1fr 16px;padding:14px 2px}
 .wedding-detail-line>span{font-size:20px}
 .wedding-detail-line strong{font-size:13px}
 .wedding-story-visual{min-height:500px}
 .wedding-photo-caption{left:24px;top:24px}
 .wedding-photo-caption strong{font-size:31px;max-width:320px}
 .wedding-contact-overlay{left:18px;right:18px;bottom:18px;padding:16px 18px}
 .wedding-contact-overlay .contact-title strong{font-size:17px}
 .wedding-contact-overlay .contact-lines p{font-size:10.5px}
}
@media(max-width:680px){
 .wedding-story-grid{gap:12px}
 .wedding-story-info{padding:15px;border-radius:18px}
 .wedding-story-heading strong{font-size:20px}
 .wedding-story-visual{min-height:390px;border-radius:20px}
 .wedding-photo-caption strong{font-size:22px;max-width:220px}
 .wedding-contact-overlay{left:10px;right:10px;bottom:10px}
}


/* V29.4 — close Point 2 + rebalance Home desktop */
.wedding-editorial-main>small{
  color:rgba(255,255,255,.58)!important;
  font-weight:700!important;
}
.wedding-editorial-main h3{
  color:#dfb76b!important;
  text-shadow:0 5px 22px rgba(0,0,0,.12);
}

@media(min-width:1080px){
  /* Keep approved hero; use the existing progress/install block in the empty right column */
  .view[data-view="home"].active{
    display:grid!important;
    grid-template-columns:1.28fr .72fr!important;
    grid-template-rows:auto auto auto auto auto!important;
    column-gap:24px!important;
    row-gap:16px!important;
    align-content:start!important;
  }
  .view[data-view="home"] .home-greeting{
    grid-column:1!important;
    grid-row:1!important;
  }
  .view[data-view="home"] .home-hero-final{
    grid-column:1!important;
    grid-row:2 / span 4!important;
    align-self:start!important;
  }
  .view[data-view="home"] .home-grid{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    margin-top:0!important;
    align-self:start!important;
  }
  .view[data-view="home"] .home-status{
    grid-column:2!important;
    grid-row:3!important;
    margin-top:0!important;
    padding:16px!important;
    border-radius:20px!important;
    align-self:start!important;
  }
  .view[data-view="home"] .home-status .home-install-cta{
    margin-top:12px!important;
  }
  .view[data-view="home"] .signature{
    grid-column:2!important;
    grid-row:4!important;
    margin:5px 0 0!important;
    text-align:center!important;
  }
  .view[data-view="home"] .home-luxe-note{
    grid-column:2!important;
    grid-row:5!important;
    margin:0!important;
    text-align:center!important;
  }
  .view[data-view="home"] .home-divider,
  .view[data-view="home"] .home-brand-seal{
    display:none!important;
  }
}


/* V30 — Ponto 3 Músicas: luxury editorial */
.music-page-title{padding-bottom:4px!important}
.music-page-title .music-eyebrow{display:block;margin-bottom:8px;font-size:8px;letter-spacing:.22em;font-weight:700;color:#aa8240}
.music-page-title h2{margin-bottom:6px!important}
.music-page-title p{max-width:540px!important}
.music-progress-card{margin:10px 0 18px;padding:16px 18px;border:1px solid rgba(205,188,161,.72);border-radius:20px;background:linear-gradient(135deg,#163128,#223f34);color:#fff;box-shadow:0 18px 40px rgba(19,40,33,.10)}
.music-progress-copy{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.music-progress-copy small{font-size:8px;letter-spacing:.18em;color:#d9b76b;font-weight:700}
.music-progress-copy strong{font-family:Georgia,serif;font-size:20px;font-weight:600;color:#fff}
.music-progress-copy span{margin-left:auto;font-size:9px;color:rgba(255,255,255,.64)}
.music-progress-track{height:4px;margin-top:12px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}
.music-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d7b365,#f0d99c);transition:width .55s cubic-bezier(.2,.75,.2,1)}
.music-editorial-layout{display:grid;gap:16px}
.music-chapter,.music-preferences-card{border:1px solid rgba(218,205,186,.85);border-radius:22px;background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(249,244,236,.82));box-shadow:0 16px 34px rgba(37,27,17,.035);overflow:hidden}
.music-chapter-head{padding:16px 18px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid rgba(218,205,186,.66)}
.music-chapter-head small{display:block;font-size:7px;letter-spacing:.2em;color:#a58145;font-weight:700;margin-bottom:5px}
.music-chapter-head h3{margin:0;font-family:Georgia,serif;font-size:18px;line-height:1.1;color:#211c16}
.music-chapter-head>span{padding:5px 8px;border-radius:999px;background:#173229;color:#fff;font-size:7px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.music-chapter-head>span.optional{background:#f3eadc;color:#8a6a37;border:1px solid rgba(191,158,104,.28)}
.music-editorial-list{padding:4px 12px 10px}
.music-editorial-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto 14px;align-items:center;gap:11px;padding:13px 6px;border:0;border-bottom:1px solid rgba(218,205,186,.60);background:transparent;text-align:left;color:#231f1a;overflow:visible!important}
.music-editorial-row:last-child{border-bottom:0}
.music-editorial-row:hover{background:rgba(255,255,255,.55)}
.music-row-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#f5ede1;border:1px solid rgba(203,181,145,.48);color:#977238;font-size:18px}
.music-editorial-row.is-done .music-row-icon{background:#e8f0eb;color:#32624b;border-color:rgba(62,110,82,.18)}
.music-row-copy{min-width:0}
.music-row-copy strong{display:block;font-size:12px;line-height:1.2;color:#211c16}
.music-row-copy small{display:block;margin-top:3px;font-size:8.8px;line-height:1.4;color:#82786d}
.music-row-copy em{display:block;margin-top:5px;font-style:normal;font-size:8.5px;color:#aa8240}
.music-row-status{padding:5px 8px;border-radius:999px;font-size:7px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.music-row-status.done{background:#e5efe8;color:#356149}
.music-row-status.partial{background:#fff0db;color:#966728}
.music-row-status.empty{background:#f0ebe4;color:#81776c}
.music-editorial-row.is-optional .music-row-status.empty{background:#f7f0e5;color:#9b7740}
.music-editorial-row>b{font-size:17px;font-weight:400;color:#9b8c79}
.music-side-column{display:grid;gap:16px}
.music-preferences-card{padding-bottom:10px}
.music-preferences-card .music-specials{padding:4px 12px 0;margin:0;display:grid;gap:0}
.music-preferences-card .music-specials button{border:0!important;border-bottom:1px solid rgba(218,205,186,.60)!important;border-radius:0!important;background:transparent!important;padding:12px 6px!important;box-shadow:none!important}
.music-preferences-card .music-specials button:last-child{border-bottom:0!important}
.music-preferences-card .round{width:36px;height:36px}
.saved-feedback{margin:8px 0 0;padding:10px 12px;border-radius:12px;background:#e7f0e9;color:#356149;font-size:10px;font-weight:700;text-align:center}
.music-sheet-list button em.done{background:#e6f0e9!important;color:#356149!important}
.current-choice{margin:0 0 12px;padding:13px 14px;border-radius:15px;background:linear-gradient(180deg,#173128,#203e33);color:#fff;border:1px solid rgba(215,179,101,.18)}
.current-choice small{display:block;font-size:7px;letter-spacing:.16em;color:#d8b76c;margin-bottom:5px}
.current-choice strong{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.2}
.current-choice span{display:block;margin-top:5px;font-size:9px;color:rgba(255,255,255,.67)}

@media(min-width:1080px){
  .view[data-view="music"].active{display:block!important;max-width:1180px!important;margin:0 auto!important}
  .music-page-title{text-align:left!important;margin-bottom:4px!important}
  .music-page-title h2{font-size:40px!important}
  .music-editorial-layout{grid-template-columns:1.18fr .82fr;gap:18px;align-items:start}
  .music-chapter-head{padding:18px 20px 14px}
  .music-chapter-head h3{font-size:21px}
  .music-editorial-list{padding:5px 14px 12px}
  .music-editorial-row{grid-template-columns:48px minmax(0,1fr) auto 16px;padding:15px 8px;gap:13px}
  .music-row-icon{width:44px;height:44px;border-radius:14px;font-size:20px}
  .music-row-copy strong{font-size:14px}
  .music-row-copy small{font-size:10px}
  .music-row-copy em{font-size:9px}
  .music-row-status{font-size:7.5px;padding:6px 9px}
  .music-progress-card{padding:18px 20px}
  .music-progress-copy strong{font-size:23px}
}
@media(max-width:700px){
  .music-page-title h2{font-size:30px!important}
  .music-progress-copy{display:grid;grid-template-columns:1fr;gap:3px}
  .music-progress-copy span{margin-left:0}
  .music-editorial-layout{grid-template-columns:1fr}
  .music-chapter-head h3{font-size:17px}
  .music-editorial-row{grid-template-columns:38px minmax(0,1fr) 14px;gap:9px}
  .music-row-status{grid-column:2;justify-self:start;margin-top:-4px}
  .music-editorial-row>b{grid-column:3;grid-row:1 / span 2}
  .music-row-icon{width:36px;height:36px;border-radius:12px}
}


/* V30.1 preference slots */
.preference-limit{margin:4px 0 12px;padding:10px 12px;border:1px solid rgba(218,205,186,.82);border-radius:14px;background:linear-gradient(180deg,#fffdfa,#f8f1e8);display:flex;align-items:center;justify-content:space-between;gap:12px}
.preference-limit span{font-size:8px;letter-spacing:.16em;color:#a27d3f;font-weight:700}
.preference-limit strong{font-size:10px;color:#62594f}
.preference-slots{display:grid;gap:10px}
.preference-slot{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;border:1px solid rgba(218,205,186,.82);border-radius:16px;background:rgba(255,253,249,.92)}
.preference-slot-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#153229;color:#d6b66a;font-size:9px;font-weight:700;letter-spacing:.06em}
.preference-slot-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preference-slot-fields label{display:block;font-size:7px;letter-spacing:.10em;text-transform:uppercase;color:#8f7b60}
.preference-slot-fields input{display:block;width:100%;margin-top:5px;border:1px solid #e1d9d1;background:#fff;border-radius:10px;padding:10px 11px;outline:none;font-size:11px;text-transform:none;letter-spacing:0;color:#28231e}
.preference-slot-fields input:focus{border-color:#aa8d63;box-shadow:0 0 0 3px rgba(170,141,99,.09)}
@media(max-width:620px){
 .preference-slot-fields{grid-template-columns:1fr}
 .preference-slot{grid-template-columns:30px minmax(0,1fr);padding:10px 9px}
}
@media(min-width:1080px){
 .sheet-panel:has(.preference-slots){width:min(760px,calc(100vw - 80px))!important;max-height:88vh!important;border-radius:26px 26px 0 0!important}
 .preference-slots{grid-template-columns:1fr 1fr;gap:12px}
 .preference-slot{min-height:116px}
 .preference-slot-fields{grid-template-columns:1fr}
}


/* V30.3 — clear/reset controls in music flows */
.mini-clear-row,.list-clear-row{display:flex;align-items:center;gap:10px;margin:8px 0 2px;min-height:34px}
.mini-clear-row span,.list-clear-row span{font-size:9px;line-height:1.35;color:#8b8073}
.mini-clear,.slot-clear{appearance:none;border:1px solid rgba(181,140,43,.28);background:rgba(255,253,249,.82);color:#8b6d39;border-radius:999px;font:600 9px/1 inherit;letter-spacing:.02em;padding:7px 10px;cursor:pointer;white-space:nowrap;transition:.18s ease}
.mini-clear:hover,.slot-clear:hover{border-color:rgba(181,140,43,.55);background:#fffaf2;transform:translateY(-1px)}
.preference-slot-fields{position:relative}
.slot-clear{justify-self:start;margin-top:1px;padding:6px 9px;font-size:8px}
@media(min-width:700px){.preference-slot-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;align-items:end!important}.slot-clear{margin-bottom:1px}}
@media(max-width:699px){.mini-clear-row,.list-clear-row{align-items:flex-start;flex-direction:column;gap:5px}.slot-clear{margin-top:2px}}

/* V30.6 — premium validation feedback */
.save-warning{
  position:fixed;
  inset:0;
  z-index:250;
  display:none;
  place-items:center;
  padding:22px;
}
.save-warning.show{display:grid}
.save-warning-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,27,23,.56);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.save-warning-card{
  position:relative;
  z-index:1;
  width:min(92vw,390px);
  overflow:hidden;
  border:1px solid rgba(207,174,104,.62);
  border-radius:24px;
  background:linear-gradient(155deg,#fffdf8 0%,#f6eddf 100%);
  box-shadow:0 28px 80px rgba(12,24,20,.34);
  padding:29px 25px 23px;
  text-align:center;
  animation:warningIn .24s cubic-bezier(.2,.8,.2,1) both;
}
.save-warning-card:before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:linear-gradient(90deg,#8f6b2d,#d9bd7b,#8f6b2d);
}
.save-warning-mark{
  width:50px;
  height:50px;
  margin:0 auto 13px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#17352c;
  color:#e1c47e;
  border:1px solid rgba(225,196,126,.65);
  font:500 27px/1 Georgia,serif;
  box-shadow:0 7px 20px rgba(23,53,44,.18);
}
.save-warning-card small{
  display:block;
  color:#9b7a42;
  font-size:8px;
  letter-spacing:.22em;
  font-weight:800;
}
.save-warning-card h4{
  margin:7px 0 9px;
  color:#19352d;
  font:500 25px/1.08 Georgia,serif;
}
.save-warning-card p{
  margin:0 auto;
  max-width:310px;
  color:#625a50;
  font-size:11px;
  line-height:1.58;
}
.save-warning-rule{
  width:54px;
  height:1px;
  background:#cdb47e;
  margin:17px auto;
}
.save-warning-card button{
  border:0;
  border-radius:999px;
  background:#17352c;
  color:#fff;
  padding:12px 20px;
  min-width:154px;
  font-size:10px;
  font-weight:750;
  letter-spacing:.02em;
  box-shadow:0 7px 18px rgba(23,53,44,.16);
  cursor:pointer;
}
.save-warning-card button:hover{transform:translateY(-1px)}
.field-attention{
  border-color:#bd8e35!important;
  box-shadow:0 0 0 4px rgba(189,142,53,.16)!important;
  animation:fieldPulse 1.15s ease 2;
}
@keyframes warningIn{
  from{opacity:0;transform:translateY(12px) scale(.97)}
  to{opacity:1;transform:none}
}
@keyframes fieldPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(189,142,53,.16)}
  50%{box-shadow:0 0 0 8px rgba(189,142,53,.22)}
}
@media(max-width:520px){
  .save-warning{padding:16px}
  .save-warning-card{border-radius:22px;padding:27px 20px 21px}
  .save-warning-card h4{font-size:23px}
}


/* V31 — Ponto 4: Planeamento + Preparação do dia */
.planning-title>small,.preparation-title>small{
  display:block;margin-bottom:8px;color:#a67f3d;font-size:7.5px;font-weight:800;letter-spacing:.22em;
}
.planning-title p,.preparation-title p{max-width:500px!important}

.planning-overview-card{
  position:relative;overflow:hidden;margin:8px 0 18px;padding:20px 20px 18px;border-radius:24px;
  color:#fff;background:linear-gradient(135deg,#102a22 0%,#17372d 58%,#223f35 100%);
  border:1px solid rgba(208,177,111,.22);box-shadow:0 22px 52px rgba(18,39,32,.12);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 22px;align-items:end;
}
.planning-overview-card:before{content:'';position:absolute;width:240px;height:240px;right:-90px;top:-120px;border:1px solid rgba(222,192,128,.22);border-radius:50%}
.planning-overview-card:after{content:'';position:absolute;width:160px;height:160px;right:-62px;top:-82px;border:1px solid rgba(222,192,128,.12);border-radius:50%}
.planning-overview-copy{position:relative;z-index:1;max-width:620px}
.planning-overview-copy small{display:block;color:#d8b96e;font-size:7px;font-weight:800;letter-spacing:.22em;margin-bottom:7px}
.planning-overview-copy h3{margin:0;color:#fff;font:600 25px/1.04 Georgia,serif;letter-spacing:-.02em}
.planning-overview-copy h3 em{color:#e2c27b;font-weight:500}
.planning-overview-copy p{margin:8px 0 0;color:rgba(255,255,255,.64);font-size:10px;line-height:1.55}
.planning-overview-progress{position:relative;z-index:1;min-width:92px;padding-left:20px;border-left:1px solid rgba(255,255,255,.14);text-align:right}
.planning-overview-progress strong{display:block;color:#e4c57d;font:600 36px/1 Georgia,serif}
.planning-overview-progress span{display:block;margin-top:4px;color:rgba(255,255,255,.54);font-size:7px;letter-spacing:.12em;text-transform:uppercase}
.planning-overview-bar{position:relative;z-index:1;grid-column:1/-1;height:4px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.planning-overview-bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#cfa957,#f0dca3);transition:width .55s cubic-bezier(.2,.75,.2,1)}

.planning-journey{border-top:1px solid rgba(192,166,124,.42);border-bottom:1px solid rgba(192,166,124,.42)}
.planning-journey-row{
  width:100%;min-height:72px;padding:12px 2px;border:0;border-bottom:1px solid rgba(218,205,186,.68);background:transparent;
  display:grid;grid-template-columns:30px 38px minmax(0,1fr) auto 18px;gap:10px;align-items:center;text-align:left;color:#241f19;
}
.planning-journey-row:last-child{border-bottom:0}
.planning-journey-row:hover{background:linear-gradient(90deg,rgba(255,255,255,.62),transparent)}
.journey-step{font:500 13px/1 Georgia,serif;color:#b28a49}
.journey-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(188,157,105,.42);color:#9d793c;background:#fbf5eb;font-size:14px}
.planning-journey-row.done .journey-icon{background:#17352c;color:#e2c27b;border-color:#17352c}
.planning-journey-row>div{min-width:0}
.planning-journey-row strong{display:block;font-family:Georgia,serif;font-size:14px;font-weight:600}
.planning-journey-row small{display:block;margin-top:4px;color:#82786d;font-size:9px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.journey-status{padding:5px 8px;border-radius:999px;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.journey-status.done{background:#e6efe8;color:#356149}
.journey-status.partial{background:#fff0db;color:#936529}
.journey-status.empty{background:#f1ece5;color:#83786d}
.journey-status.optional{background:#f7efe2;color:#9b773e;border:1px solid rgba(183,147,88,.18)}
.planning-journey-row>b{font-size:16px;font-weight:400;color:#a38e70}

.planning-next-card{
  margin-top:18px;padding:16px 17px;border:1px solid rgba(211,194,166,.82);border-radius:19px;background:linear-gradient(135deg,#fffdfa,#f5ecdf);
  display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 14px 30px rgba(36,25,15,.04);
}
.planning-next-card small{display:block;font-size:7px;letter-spacing:.18em;color:#a78043;font-weight:800;margin-bottom:4px}
.planning-next-card strong{display:block;font:600 16px/1.2 Georgia,serif}
.planning-next-card span{display:block;margin-top:4px;color:#7e756b;font-size:9px}
.planning-next-card>button{border:0;border-radius:999px;background:#17352c;color:#fff;padding:10px 14px;font-size:9px;font-weight:700;white-space:nowrap;box-shadow:0 8px 18px rgba(23,53,44,.14)}
.planning-next-card>button b{margin-left:6px;color:#dfc17b;font-size:13px}

.preparation-editorial-hero{
  position:relative;overflow:hidden;margin:8px 0 15px;min-height:190px;padding:22px 22px;border-radius:24px;
  background:linear-gradient(145deg,#132e26,#214136);color:#fff;border:1px solid rgba(205,169,94,.26);box-shadow:0 22px 50px rgba(18,39,32,.11);
  display:flex;align-items:flex-end;
}
.preparation-editorial-hero:before{content:'';position:absolute;inset:auto -60px -105px auto;width:245px;height:245px;border:1px solid rgba(224,194,129,.21);border-radius:50%}
.preparation-editorial-hero:after{content:'';position:absolute;inset:auto -12px -130px auto;width:245px;height:245px;border:1px solid rgba(224,194,129,.10);border-radius:50%}
.preparation-hero-copy{position:relative;z-index:2;max-width:74%}
.preparation-hero-copy small{display:block;font-size:7px;font-weight:800;letter-spacing:.2em;color:#d9b96d;margin-bottom:7px}
.preparation-hero-copy h3{margin:0;font:600 25px/1.05 Georgia,serif;color:#fff;letter-spacing:-.02em}
.preparation-hero-copy h3 em{color:#e0c079;font-weight:500}
.preparation-hero-copy p{margin:9px 0 0;font-size:9.5px;line-height:1.55;color:rgba(255,255,255,.62)}
.preparation-monogram{position:absolute;right:17px;top:17px;z-index:1;font:500 48px/1 Georgia,serif;color:rgba(226,194,121,.22);letter-spacing:-.08em}

.preparation-grid{display:grid;gap:11px}
.preparation-story-card{
  position:relative;width:100%;padding:15px 14px;border:1px solid rgba(214,198,174,.86);border-radius:18px;background:linear-gradient(180deg,#fffdfa,#f9f3ea);
  display:grid;grid-template-columns:34px minmax(0,1fr) auto 16px;gap:10px;align-items:center;text-align:left;color:#241f19;box-shadow:0 12px 26px rgba(35,25,16,.035);overflow:hidden;
}
.preparation-story-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#b98d43,#e2c788)}
.prep-number{font:500 16px/1 Georgia,serif;color:#ae8543}
.preparation-story-card>div{min-width:0}
.preparation-story-card small{display:block;color:#9b783e;font-size:6.8px;font-weight:800;letter-spacing:.14em;margin-bottom:4px}
.preparation-story-card strong{display:block;font:600 14px/1.22 Georgia,serif}
.preparation-story-card p{margin:5px 0 0;color:#7e756b;font-size:9px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prep-status{padding:5px 8px;border-radius:999px;background:#f4ecdf;color:#92703a;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.prep-status.done{background:#e6efe8;color:#356149}
.preparation-story-card>b{font-size:15px;font-weight:400;color:#9e896d}

.preparation-summary{margin-top:14px;padding:14px;border:1px solid rgba(214,198,174,.8);border-radius:20px;background:rgba(255,253,249,.72)}
.preparation-summary-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:0 2px 10px}
.preparation-summary-head small{color:#a17b3e;font-size:7px;font-weight:800;letter-spacing:.16em}
.preparation-summary-head strong{font:600 13px/1.2 Georgia,serif}
.preparation-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preparation-summary-grid button{border:1px solid rgba(219,207,188,.82);border-radius:14px;background:#fffdfa;padding:11px;display:grid;grid-template-columns:30px minmax(0,1fr) 12px;gap:8px;align-items:center;text-align:left;color:#261f18}
.preparation-summary-grid button>span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#f5ede1;color:#9c773c;font-size:13px}
.preparation-summary-grid small{display:block;color:#a17b3e;font-size:6.5px;font-weight:800;letter-spacing:.1em}
.preparation-summary-grid strong{display:block;margin-top:3px;font-size:9px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.preparation-summary-grid b{font-size:14px;font-weight:400;color:#9d8a72}

.preparation-save-note{margin-top:12px;padding:12px 13px;border-radius:16px;background:linear-gradient(180deg,#f0f5f1,#e8f0ea);display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;border:1px solid rgba(67,101,80,.12)}
.preparation-save-note>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#17352c;color:#dfc17a;font-size:11px}
.preparation-save-note strong{display:block;font-size:10px;color:#294c3d}
.preparation-save-note p{margin:3px 0 0;color:#607168;font-size:8.5px;line-height:1.45}
.preparation-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}
.preparation-actions .btn{margin:0!important}

@media(min-width:1080px){
  .view[data-view="planning"].active{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px 24px;max-width:1120px!important;margin:0 auto!important;align-items:start}
  .planning-title{grid-column:1/-1;text-align:left!important;margin-bottom:0!important}
  .planning-title h2{font-size:40px!important}
  .planning-overview-card{grid-column:1/-1;margin:0!important;padding:24px 26px 21px}
  .planning-overview-copy h3{font-size:31px}
  .planning-overview-progress strong{font-size:46px}
  .planning-journey{grid-column:1;grid-row:3 / span 2}
  .planning-journey-row{min-height:78px;grid-template-columns:34px 42px minmax(0,1fr) auto 18px;padding:13px 8px}
  .planning-journey-row strong{font-size:15px}
  .planning-journey-row small{font-size:9.5px}
  .planning-next-card{grid-column:2;grid-row:3;margin:0;min-height:190px;padding:22px;display:block;background:linear-gradient(145deg,#f8efe2,#fffdfa)}
  .planning-next-card strong{font-size:24px;margin-top:7px}
  .planning-next-card span{font-size:10px;line-height:1.5;margin-top:8px}
  .planning-next-card>button{margin-top:24px;width:100%;padding:12px 15px}

  .view[data-view="preparation"].active{display:grid!important;grid-template-columns:.78fr 1.22fr;gap:16px 20px;max-width:1120px!important;margin:0 auto!important;align-items:start}
  .preparation-title{grid-column:1/-1;text-align:left!important;margin-bottom:0!important}
  .preparation-title h2{font-size:40px!important}
  .preparation-editorial-hero{grid-column:1;grid-row:2 / span 2;margin:0;min-height:340px;padding:28px;align-items:flex-end}
  .preparation-hero-copy{max-width:90%}
  .preparation-hero-copy h3{font-size:34px}
  .preparation-hero-copy p{font-size:10px}
  .preparation-monogram{font-size:82px;right:26px;top:26px}
  .preparation-grid{grid-column:2;grid-row:2;grid-template-columns:1fr 1fr;gap:12px}
  .preparation-story-card{min-height:165px;display:flex;flex-direction:column;align-items:flex-start;padding:18px 18px 16px}
  .preparation-story-card .prep-number{margin-bottom:14px}
  .preparation-story-card>div{width:100%}
  .preparation-story-card strong{font-size:18px}
  .preparation-story-card p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .preparation-story-card .prep-status{margin-top:auto}
  .preparation-story-card>b{position:absolute;right:17px;bottom:16px}
  .preparation-summary{grid-column:2;grid-row:3;margin:0}
  .preparation-save-note{grid-column:1/-1;margin-top:2px}
  .preparation-actions{grid-column:1/-1;max-width:500px;justify-self:end;width:100%;margin-top:0}
}

@media(max-width:700px){
  .planning-overview-card{grid-template-columns:1fr auto;padding:18px 16px 16px;border-radius:20px}
  .planning-overview-copy h3{font-size:23px}
  .planning-overview-copy p{max-width:230px}
  .planning-overview-progress{min-width:74px;padding-left:12px}
  .planning-overview-progress strong{font-size:31px}
  .planning-journey-row{grid-template-columns:25px 34px minmax(0,1fr) 14px;gap:8px;min-height:72px}
  .planning-journey-row .journey-status{grid-column:3;justify-self:start;margin-top:-5px}
  .planning-journey-row>b{grid-column:4;grid-row:1 / span 2}
  .planning-journey-row strong{font-size:13px}
  .planning-journey-row small{font-size:8.5px;max-width:215px}
  .journey-icon{width:31px;height:31px}
  .planning-next-card{padding:14px}
  .planning-next-card>button{padding:9px 12px}

  .preparation-editorial-hero{min-height:205px;padding:19px 17px}
  .preparation-hero-copy{max-width:82%}
  .preparation-hero-copy h3{font-size:24px}
  .preparation-monogram{font-size:43px;right:14px;top:15px}
  .preparation-story-card{grid-template-columns:30px minmax(0,1fr) 14px;padding:14px 12px}
  .preparation-story-card .prep-status{grid-column:2;justify-self:start;margin-top:-3px}
  .preparation-story-card>b{grid-column:3;grid-row:1 / span 2}
  .preparation-summary-head{display:block}
  .preparation-summary-head strong{display:block;margin-top:4px}
  .preparation-summary-grid{grid-template-columns:1fr}
  .preparation-actions{grid-template-columns:1fr}
}

/* =========================================================
   V32 · PONTO 5 — DETALHES DO DIA
   Layout / Panda / Fotografias / Vídeos
   ========================================================= */
.details-view.active{display:block!important;max-width:1120px!important;margin:0 auto!important}
.details-page-title{text-align:center!important;max-width:760px;margin:0 auto 18px!important}
.details-page-title>small{display:block;color:#a67d3b;font-size:7px;font-weight:800;letter-spacing:.22em;margin-bottom:7px}
.details-page-title h2{margin:0!important;font:600 34px/1.05 Georgia,serif!important;color:#221d18}
.details-page-title p{max-width:600px;margin:8px auto 0!important;color:#777067;font-size:10px;line-height:1.6}

.details-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:24px;align-items:center;min-height:176px;padding:24px 28px;margin:0 0 16px;border-radius:24px;background:linear-gradient(122deg,#102d24 0%,#173b30 62%,#10281f 100%);border:1px solid rgba(191,157,91,.23);box-shadow:0 20px 42px rgba(22,42,34,.11);color:#fff}
.details-hero:before{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(219,184,112,.16);border-radius:50%;right:-110px;top:-145px}
.details-hero:after{content:'';position:absolute;width:190px;height:190px;border:1px solid rgba(219,184,112,.10);border-radius:50%;right:-24px;bottom:-155px}
.details-hero-copy{position:relative;z-index:1;max-width:670px}
.details-hero-copy>small{display:block;color:#d8b66b;font-size:7px;font-weight:800;letter-spacing:.2em;margin-bottom:8px}
.details-hero-copy h3{margin:0;color:#fff;font:600 30px/1.08 Georgia,serif}
.details-hero-copy h3 em{color:#e1bf73;font-weight:500}
.details-hero-copy p{max-width:610px;margin:10px 0 0;color:rgba(255,255,255,.64);font-size:10px;line-height:1.62}
.details-hero-status{position:relative;z-index:1;padding-left:22px;border-left:1px solid rgba(255,255,255,.15)}
.details-hero-status strong{display:block;color:#e2bd6d;font:700 38px/1 Georgia,serif}
.details-hero-status>span{display:block;margin-top:5px;color:#fff;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.details-hero-status>small{display:block;margin-top:7px;color:rgba(255,255,255,.52);font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.details-progress{height:3px;margin-top:12px;border-radius:999px;background:rgba(255,255,255,.13);overflow:hidden}
.details-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#bd8d32,#efd493);transition:width .35s ease}

.details-editorial-grid{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);gap:14px}
.details-card{position:relative;overflow:hidden;width:100%;min-height:260px;border:1px solid rgba(218,204,182,.88);border-radius:22px;background:linear-gradient(180deg,#fffdfa 0%,#faf4eb 100%);padding:17px;text-align:left;color:#231e18;box-shadow:0 16px 32px rgba(40,29,17,.045);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.details-card:hover{transform:translateY(-2px);border-color:rgba(188,147,74,.55);box-shadow:0 20px 38px rgba(40,29,17,.075)}
.details-card:active{transform:scale(.994)}
.details-card:after{content:'';position:absolute;right:-38px;bottom:-56px;width:145px;height:145px;border-radius:50%;border:1px solid rgba(187,143,67,.10);pointer-events:none}
.details-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.details-number{font:600 15px/1 Georgia,serif;color:#b88735}
.details-badge{padding:5px 8px;border-radius:999px;font-size:6px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.details-badge.required{background:#17362c;color:#e4c377}
.details-badge.optional{background:#f1e6d3;color:#9a7337}
.details-card-copy{position:relative;z-index:1;margin-top:14px}
.details-card-copy small{display:block;color:#a67d3b;font-size:6.5px;font-weight:800;letter-spacing:.17em}
.details-card-copy strong{display:block;margin-top:5px;font:600 22px/1.08 Georgia,serif;color:#241e18}
.details-card-copy p{margin:6px 0 0;color:#777067;font-size:9px;line-height:1.5}
.details-card-footer{position:absolute;left:17px;right:17px;bottom:15px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.details-card-footer>b{font-size:18px;font-weight:400;color:#a47b3d}
.details-status{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:6.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.details-status.done{background:#e4efe7;color:#305e47}
.details-status.partial{background:#f6ead6;color:#90692d}
.details-status.empty{background:#efebe6;color:#7d756d}
.details-status.optional{background:#f4ecdf;color:#9a7740}

.details-layout-card{min-height:286px}
.details-layout-visual{position:relative;height:112px;border-radius:16px;background:linear-gradient(135deg,#18382e,#0e261f);display:grid;place-items:center;overflow:hidden;background-size:cover;background-position:center;color:#f0d493}
.details-layout-visual>span{position:absolute;left:13px;bottom:11px;font-size:7px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.details-layout-visual.chosen>span:last-child{font-size:10px;letter-spacing:.12em;color:#fff}
.layout-chosen-check{left:auto!important;right:11px!important;bottom:auto!important;top:10px!important;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e0bd72;color:#163229!important;font-size:10px!important;text-shadow:none!important}
.layout-mini-swatches{display:grid;grid-template-columns:repeat(3,42px);gap:7px;transform:rotate(-3deg)}
.layout-mini-swatches i{height:64px;border-radius:10px;border:1px solid rgba(255,255,255,.24);box-shadow:0 10px 24px rgba(0,0,0,.16)}
.layout-mini-swatches i:nth-child(1){background:linear-gradient(145deg,#dfbd76,#8e6529)}
.layout-mini-swatches i:nth-child(2){background:linear-gradient(145deg,#262522,#090a09)}
.layout-mini-swatches i:nth-child(3){background:linear-gradient(145deg,#fff,#ddd9d1)}

.details-panda-card{background:linear-gradient(150deg,#fffdfa 0%,#f7efe2 100%)}
.panda-editorial-mark{height:102px;border-radius:16px;background:linear-gradient(135deg,#efe2cc,#fffaf1);border:1px solid rgba(192,151,81,.23);display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden}
.panda-editorial-mark:before,.panda-editorial-mark:after{content:'';position:absolute;width:80px;height:80px;border-radius:50%;border:1px solid rgba(164,124,60,.12)}
.panda-editorial-mark:before{left:-29px;top:-31px}.panda-editorial-mark:after{right:-35px;bottom:-42px}
.panda-editorial-mark span{font-size:6px;font-weight:900;letter-spacing:.18em;color:#9d783e}
.panda-editorial-mark strong{font:700 32px/1 Georgia,serif;color:#18372d;margin-top:3px}
.panda-editorial-mark small{font-size:7px;color:#806f59;margin-top:2px}

.details-photos-card{min-height:286px}
.photo-slot-preview{height:112px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.photo-slot-preview span{display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#f3eadc,#fffdfa);border:1px dashed rgba(174,137,73,.38);font:600 13px/1 Georgia,serif;color:#b1915f}
.photo-slot-preview span.filled{border-style:solid;background:linear-gradient(145deg,#19382e,#244d3f);color:#e5c67e;border-color:#315749;box-shadow:0 8px 16px rgba(27,58,47,.09)}

.details-video-card{background:linear-gradient(150deg,#faf5ec,#fffdfa)}
.video-editorial-mark{height:102px;border-radius:16px;background:#17372d;color:#fff;display:grid;grid-template-columns:48px 1fr;align-items:center;padding:0 16px;gap:10px;position:relative;overflow:hidden}
.video-editorial-mark:after{content:'';position:absolute;width:120px;height:120px;border-radius:50%;border:1px solid rgba(226,193,116,.14);right:-58px;top:-65px}
.video-editorial-mark>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e1bf72;color:#17372d;font-size:13px}
.video-editorial-mark small{display:block;color:#d6b66d;font-size:6px;font-weight:800;letter-spacing:.15em}
.video-editorial-mark strong{display:block;margin-top:4px;font:600 16px/1.1 Georgia,serif}

.details-editorial-note{margin-top:14px;padding:13px 15px;border:1px solid rgba(216,202,180,.72);border-radius:18px;background:rgba(255,253,250,.74);display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:center}
.details-editorial-note>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#18382e;color:#e1bf72;font-size:11px}
.details-editorial-note small{display:block;color:#a17b3e;font-size:6px;font-weight:800;letter-spacing:.15em}
.details-editorial-note strong{display:block;margin-top:3px;font:600 12px/1.25 Georgia,serif}
.details-editorial-note p{margin:3px 0 0;color:#786f66;font-size:8.5px;line-height:1.45}
.details-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;max-width:560px;margin:14px 0 0 auto}
.details-actions .btn{margin:0!important}

/* Sheets — Ponto 5 */
.panda-sheet-hero,.photo-requirement-card,.video-sheet-hero{border:1px solid rgba(216,201,177,.82);border-radius:18px;background:linear-gradient(150deg,#fffdfa,#f6eee2);margin:10px 0 13px}
.panda-sheet-hero{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;padding:15px}
.panda-sheet-hero>div{text-align:center;border-right:1px solid rgba(186,150,88,.18);padding-right:14px}
.panda-sheet-hero small{display:block;font-size:6px;font-weight:900;letter-spacing:.18em;color:#a17b3e}
.panda-sheet-hero strong{display:block;font:700 32px/1 Georgia,serif;color:#18362c;margin-top:3px}
.panda-sheet-hero span{display:block;font-size:7px;color:#80715d;margin-top:3px}
.panda-sheet-hero p{margin:0;color:#6e675f;font-size:10px;line-height:1.55}
.panda-condition{line-height:1.55!important}

.photo-requirement-card{padding:14px 15px}
.photo-requirement-card small{display:block;color:#a17b3e;font-size:6px;font-weight:900;letter-spacing:.18em}
.photo-requirement-card strong{display:block;margin-top:5px;font:600 20px/1.15 Georgia,serif;color:#241e18}
.photo-requirement-card p{margin:6px 0 0;color:#706961;font-size:9px;line-height:1.5}
.photo-upload-zone{cursor:pointer;border:1px dashed rgba(173,134,68,.55);border-radius:17px;background:rgba(247,239,226,.62);padding:16px;display:grid;grid-template-columns:40px 1fr;gap:11px;align-items:center;transition:.2s ease}
.photo-upload-zone:hover{background:#faf3e8;border-color:#aa7d35}
.photo-upload-zone>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#18372d;color:#e1c078;font-size:18px}
.photo-upload-zone strong{display:block;font-size:11px;color:#2b241d}
.photo-upload-zone small{display:block;margin-top:2px;color:#81776b;font-size:8px}
.photo-hidden-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.photo-selection-head{display:flex;justify-content:space-between;align-items:center;margin:13px 2px 7px}
.photo-selection-head strong{font-size:9px}.photo-selection-head span{font-size:7px;color:#9a7946;text-transform:uppercase;letter-spacing:.08em}
.photo-draft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.photo-draft-slot{min-height:74px;padding:8px;border:1px dashed rgba(183,151,100,.38);border-radius:12px;background:#fffdfa;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-width:0}
.photo-draft-slot>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f1e9dd;color:#9c7b48;font-size:9px}
.photo-draft-slot small{display:block;width:100%;margin-top:5px;font-size:6.5px;color:#81786e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-draft-slot.filled{border-style:solid;border-color:rgba(46,87,68,.28);background:#f0f5f1}
.photo-draft-slot.filled>span{background:#17372d;color:#e1c078}

.video-sheet-hero{padding:14px;display:grid;grid-template-columns:50px 1fr;gap:11px;align-items:center;background:linear-gradient(135deg,#17372d,#24483b);border-color:#274b3e;color:#fff}
.video-sheet-hero>span{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e1bf72;color:#17372d;font-size:13px}
.video-sheet-hero small{display:block;color:#dbbc75;font-size:6px;font-weight:800;letter-spacing:.15em}
.video-sheet-hero strong{display:block;margin-top:3px;font:600 17px/1.1 Georgia,serif}
.video-sheet-hero p{margin:4px 0 0;color:rgba(255,255,255,.65);font-size:8.5px;line-height:1.45}

@media(min-width:1080px){
  .details-page-title{text-align:left!important;margin-left:0!important}
  .details-page-title h2{font-size:40px!important}
  .details-editorial-grid{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:16px}
  .details-card{min-height:274px;padding:18px}
  .details-layout-card,.details-photos-card{min-height:300px}
  .details-layout-visual,.photo-slot-preview{height:124px}
  .details-card-copy strong{font-size:24px}
  .sheet-panel:has(.photo-requirement-card),.sheet-panel:has(.panda-sheet-hero),.sheet-panel:has(.video-sheet-hero){width:min(650px,calc(100vw - 90px))!important;max-height:86vh!important;border-radius:28px!important;bottom:24px!important}
}

@media(max-width:700px){
  .details-page-title{text-align:left!important;margin:0 0 14px!important}
  .details-page-title h2{font-size:30px!important}
  .details-page-title p{margin-left:0!important;font-size:9px}
  .details-hero{grid-template-columns:1fr auto;gap:12px;min-height:170px;padding:19px 17px;border-radius:21px}
  .details-hero-copy h3{font-size:24px;max-width:250px}
  .details-hero-copy p{font-size:8.5px;max-width:245px}
  .details-hero-status{width:82px;padding-left:12px}
  .details-hero-status strong{font-size:30px}
  .details-hero-status>span{font-size:6px;line-height:1.35}
  .details-editorial-grid{grid-template-columns:1fr;gap:10px}
  .details-card,.details-layout-card,.details-photos-card{min-height:224px;padding:14px;border-radius:19px}
  .details-layout-visual,.panda-editorial-mark,.video-editorial-mark,.photo-slot-preview{height:88px}
  .layout-mini-swatches{grid-template-columns:repeat(3,34px)}
  .layout-mini-swatches i{height:52px}
  .details-card-copy{margin-top:11px}
  .details-card-copy strong{font-size:20px}
  .details-card-footer{left:14px;right:14px;bottom:12px}
  .details-editorial-note{margin-top:10px}
  .details-actions{grid-template-columns:1fr;margin-top:10px;max-width:none}
  .panda-sheet-hero{grid-template-columns:96px 1fr;padding:12px;gap:10px}
  .panda-sheet-hero>div{padding-right:9px}.panda-sheet-hero strong{font-size:27px}.panda-sheet-hero p{font-size:8.5px}
  .photo-draft-grid{grid-template-columns:1fr 1fr}
  .photo-draft-slot{min-height:68px}
}

/* =========================================================
   V32.1 · PONTO 5 — REDESIGN EDITORIAL / MAIS FINO
   ========================================================= */
.details-view.active{max-width:1100px!important}
.details-page-title{margin-bottom:24px!important}
.details-page-title>small{font-size:6.5px;letter-spacing:.25em;color:#9a753d}
.details-page-title h2{font-size:36px!important;font-weight:500!important}
.details-page-title p{max-width:560px!important;font-size:9.5px!important;color:#797168!important}

/* Sem hero verde: introdução leve e editorial */
.details-hero{display:none!important}
.details-intro-editorial{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:44px;align-items:end;margin:0 0 10px;padding:2px 4px 18px;border-bottom:1px solid rgba(171,139,89,.26)}
.details-intro-copy>small{display:block;margin-bottom:8px;color:#aa8243;font-size:6.5px;font-weight:800;letter-spacing:.22em}
.details-intro-copy h3{margin:0;color:#262019;font:500 25px/1.12 Georgia,serif}
.details-intro-copy h3 em{color:#a27839;font-weight:500}
.details-intro-copy p{max-width:650px;margin:8px 0 0;color:#7b7369;font-size:9px;line-height:1.65}
.details-intro-progress{padding-bottom:2px}
.details-intro-progress>div:first-child{display:flex;align-items:baseline;gap:8px;justify-content:flex-end}
.details-intro-progress strong{color:#17372d;font:600 26px/1 Georgia,serif}
.details-intro-progress span{color:#80776d;font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.details-intro-progress>small{display:block;margin-top:6px;text-align:right;color:#9a8f83;font-size:6px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.details-intro-progress .details-progress{height:2px;margin-top:9px;background:#e8dfd2}
.details-intro-progress .details-progress i{background:linear-gradient(90deg,#a67c39,#d7b875)}

/* Uma lista editorial em vez de 4 caixas grandes */
.details-editorial-grid{display:none!important}
.details-ledger{border-top:0;margin-top:0}
.detail-editorial-row{appearance:none;-webkit-appearance:none;position:relative;width:100%;display:grid;grid-template-columns:88px minmax(245px,.9fr) minmax(300px,1.15fr) 132px;gap:24px;align-items:center;min-height:144px;padding:17px 4px;border:0;border-bottom:1px solid rgba(173,151,117,.24);background:transparent;text-align:left;color:#251f19;cursor:pointer;transition:padding .22s ease,background .22s ease}
.detail-editorial-row:hover{padding-left:12px;padding-right:12px;background:linear-gradient(90deg,rgba(252,247,239,.72),rgba(255,255,255,0))}
.detail-editorial-row:active{transform:none}
.detail-index{align-self:center;border-right:1px solid rgba(167,134,82,.18);padding:6px 18px 6px 0}
.detail-index span{display:block;color:#b0823c;font:500 22px/1 Georgia,serif}
.detail-index small{display:block;margin-top:6px;color:#9b9186;font-size:5.5px;font-weight:800;letter-spacing:.16em}
.detail-row-copy small{display:block;color:#a17a3f;font-size:6px;font-weight:800;letter-spacing:.18em}
.detail-row-copy strong{display:block;margin-top:5px;color:#251f19;font:500 20px/1.12 Georgia,serif}
.detail-row-copy p{margin:6px 0 0;max-width:320px;color:#7a7268;font-size:8.5px;line-height:1.52}
.detail-row-visual{min-width:0}
.detail-row-action{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.detail-row-action>b{color:#a77d3b;font:400 17px/1 Georgia,serif}

/* Layout: mini editorial strip, não um quadrado */
.details-layout-visual{height:92px;border-radius:14px;background:linear-gradient(135deg,#f2eadf,#fcf8f2);border:1px solid rgba(185,148,85,.22);display:grid;place-items:center;overflow:hidden;background-size:cover;background-position:center;position:relative;color:#9d783f;box-shadow:none}
.details-layout-visual>span{position:absolute;left:12px;bottom:9px;font-size:6px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;text-shadow:none}
.details-layout-visual.chosen:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(16,26,21,.46));pointer-events:none}
.details-layout-visual.chosen>span:last-child{z-index:2;color:#fff;font-size:8px}
.layout-chosen-check{z-index:3!important;left:auto!important;right:9px!important;top:9px!important;bottom:auto!important;width:22px!important;height:22px!important;border-radius:50%!important;background:#f2d08a!important;color:#163229!important;font-size:8px!important;display:grid!important;place-items:center!important;text-shadow:none!important}
.layout-mini-swatches{display:grid;grid-template-columns:repeat(3,58px);gap:9px;transform:none}
.layout-mini-swatches i{height:68px;border-radius:8px;border:1px solid rgba(255,255,255,.55);box-shadow:0 8px 16px rgba(62,45,24,.08)}

/* Panda: preço como tipografia, não como bloco */
.panda-inline-mark{display:grid;grid-template-columns:auto auto 1fr;align-items:end;column-gap:8px;row-gap:2px;padding:2px 8px 2px 0}
.panda-inline-mark small{grid-column:1/-1;color:#a17b3e;font-size:5.5px;font-weight:800;letter-spacing:.16em}
.panda-inline-mark strong{color:#17372d;font:500 30px/1 Georgia,serif}
.panda-inline-mark span{align-self:end;padding-bottom:3px;color:#7d7368;font-size:7px}
.panda-inline-mark em{justify-self:end;align-self:end;padding-bottom:3px;color:#9b8a74;font-size:6.5px;font-style:normal;letter-spacing:.04em}

/* Fotos: quatro pequenos slots elegantes */
.photo-slot-preview{height:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.photo-slot-preview span{height:68px;border-radius:10px;background:#fbf7f0;border:1px dashed rgba(174,137,73,.36);font:500 11px/1 Georgia,serif;color:#b1915f;display:grid;place-items:center}
.photo-slot-preview span.filled{border-style:solid;background:#eef2ed;color:#315c46;border-color:#cddccd;box-shadow:none}

/* Vídeo: leve, sem bloco verde */
.video-inline-mark{height:72px;border-left:1px solid rgba(179,145,88,.22);padding-left:18px;display:flex;align-items:center;gap:12px;color:#251f19}
.video-inline-mark>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(177,139,75,.32);color:#a67834;font-size:9px;background:#fffaf3}
.video-inline-mark small{display:block;color:#a17b3e;font-size:5.5px;font-weight:800;letter-spacing:.16em}
.video-inline-mark strong{display:block;margin-top:4px;color:#2d2721;font:500 13px/1.1 Georgia,serif}

/* estados mais discretos */
.details-status{min-height:20px;padding:0 8px;border-radius:999px;font-size:5.8px;letter-spacing:.08em;white-space:nowrap}
.details-status.done{background:#edf2ec;color:#3b654e}
.details-status.partial{background:#f7eddb;color:#946c30}
.details-status.empty{background:#f2eee8;color:#80766c}
.details-status.optional{background:#f5efe5;color:#9a7740}

.details-editorial-note{display:none!important}
.details-footnote-editorial{display:flex;align-items:center;gap:10px;margin:14px 4px 0;padding:0;color:#847a6f}
.details-footnote-editorial>span{color:#b48742;font-size:10px}
.details-footnote-editorial p{margin:0;font-size:7.5px;line-height:1.5}
.details-footnote-editorial strong{color:#5e564e;font-weight:700}
.details-actions{max-width:490px;margin-top:18px!important}
.details-actions .btn{min-height:40px!important;font-size:8px!important}

@media (max-width:900px){
  .details-intro-editorial{grid-template-columns:1fr 170px;gap:24px}
  .detail-editorial-row{grid-template-columns:66px minmax(190px,.9fr) minmax(240px,1fr) 112px;gap:15px;min-height:132px}
  .layout-mini-swatches{grid-template-columns:repeat(3,46px)}
  .layout-mini-swatches i{height:60px}
}
@media (max-width:720px){
  .details-page-title{margin-bottom:18px!important}
  .details-page-title h2{font-size:30px!important}
  .details-intro-editorial{grid-template-columns:1fr;gap:13px;padding:0 0 15px}
  .details-intro-progress{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
  .details-intro-progress>div:first-child{justify-content:flex-start}
  .details-intro-progress .details-progress{margin:0}
  .details-intro-progress>small{margin:0;text-align:right}
  .details-intro-progress strong{font-size:22px}
  .detail-editorial-row{grid-template-columns:45px minmax(0,1fr) 92px;grid-template-areas:'idx copy action' 'idx visual visual';gap:10px 12px;min-height:0;padding:15px 0}
  .detail-index{grid-area:idx;align-self:stretch;padding-right:10px;display:flex;flex-direction:column;justify-content:flex-start}
  .detail-index span{font-size:17px}
  .detail-row-copy{grid-area:copy}
  .detail-row-copy strong{font-size:17px}
  .detail-row-action{grid-area:action;align-self:start;gap:6px}
  .detail-row-visual{grid-area:visual;margin-top:2px}
  .details-layout-visual{height:80px}
  .layout-mini-swatches{grid-template-columns:repeat(3,1fr);width:100%;padding:8px;gap:7px}
  .layout-mini-swatches i{height:58px}
  .panda-inline-mark{min-height:48px;padding:6px 2px}
  .panda-inline-mark strong{font-size:24px}
  .photo-slot-preview span{height:52px}
  .video-inline-mark{height:54px;padding-left:0;border-left:0}
  .details-actions{grid-template-columns:1fr;margin-left:0!important;max-width:none}
}
@media (max-width:430px){
  .details-page-title p{font-size:8.5px!important}
  .details-intro-copy h3{font-size:22px}
  .details-intro-copy p{font-size:8.2px}
  .detail-editorial-row{grid-template-columns:38px minmax(0,1fr) 82px;gap:9px}
  .detail-index small{font-size:4.7px;letter-spacing:.12em}
  .detail-row-copy small{font-size:5.4px}
  .detail-row-copy strong{font-size:15.5px}
  .detail-row-copy p{font-size:7.4px}
  .details-status{font-size:5.2px;padding:0 6px}
}

/* =========================================================
   V32.2 · PONTO 5 — MAIS GLAMOUR, MENOS VAZIO + INTERAÇÕES
   ========================================================= */
.details-view.active{max-width:1120px!important}
.details-page-title{margin-bottom:18px!important}
.details-page-title h2{font-size:35px!important}

.details-masthead{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;
  min-height:176px;margin:0 0 10px;overflow:hidden;border-radius:22px;
  border:1px solid rgba(176,139,79,.22);
  background:linear-gradient(118deg,#fbf7f0 0%,#fffdfa 58%,#f3eadc 100%);
  box-shadow:0 18px 45px rgba(84,61,28,.07)
}
.details-masthead:before{
  content:'MP';position:absolute;left:46%;top:50%;transform:translate(-50%,-50%);
  color:rgba(151,111,54,.035);font:500 122px/1 Georgia,serif;letter-spacing:-.08em;
  pointer-events:none
}
.details-masthead-copy{position:relative;z-index:2;padding:24px 31px 20px}
.details-masthead-copy>small{display:block;color:#a77d3f;font-size:6.2px;font-weight:800;letter-spacing:.23em}
.details-masthead-copy h3{max-width:520px;margin:7px 0 0;color:#241f19;font:500 26px/1.08 Georgia,serif}
.details-masthead-copy h3 em{color:#a47836;font-weight:500}
.details-masthead-copy>p{max-width:560px;margin:8px 0 0;color:#716a62;font-size:8.8px;line-height:1.55}
.details-couple-signature{display:flex;align-items:center;gap:9px;margin-top:13px;color:#7f756a}
.details-couple-signature strong{color:#17372d;font:600 10px/1.1 Georgia,serif}
.details-couple-signature i{width:28px;height:1px;background:#c9a56d}
.details-couple-signature span{font-size:6.4px;letter-spacing:.04em}
.details-masthead .details-intro-progress{display:grid;grid-template-columns:auto minmax(90px,170px) auto;align-items:center;gap:10px;margin-top:14px;padding:11px 0 0;border-top:1px solid rgba(179,143,87,.18)}
.details-masthead .details-intro-progress>div:first-child{display:flex;align-items:baseline;gap:5px;justify-content:flex-start}
.details-masthead .details-intro-progress strong{font-size:18px;color:#17372d}
.details-masthead .details-intro-progress span{font-size:5.5px}
.details-masthead .details-intro-progress .details-progress{margin:0;height:2px}
.details-masthead .details-intro-progress>small{margin:0;text-align:left;font-size:5.5px;white-space:nowrap}
.details-masthead-photo{position:relative;min-height:176px;background:#eee4d7;overflow:hidden}
.details-masthead-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(251,247,240,.98) 0%,rgba(251,247,240,.16) 25%,transparent 44%),linear-gradient(0deg,rgba(17,34,28,.58),transparent 58%)}
.details-masthead-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 46%;filter:saturate(.86) contrast(1.02)}
.details-masthead-photo>div{position:absolute;z-index:2;left:25px;right:18px;bottom:17px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.details-masthead-photo small{display:block;font-size:5.2px;font-weight:800;letter-spacing:.19em;color:#efd49c}
.details-masthead-photo strong{display:block;max-width:220px;margin-top:5px;font:500 14px/1.15 Georgia,serif}

.details-legend{display:flex;align-items:center;gap:18px;padding:8px 4px 10px;color:#8a8177;font-size:6px;letter-spacing:.035em;border-bottom:1px solid rgba(176,149,109,.18)}
.details-legend span{display:flex;align-items:center;gap:6px}
.details-legend span:last-child{margin-left:auto}
.details-legend i{width:5px;height:5px;border-radius:50%;background:#b48742;box-shadow:0 0 0 3px rgba(180,135,66,.09)}

.details-ledger{position:relative;isolation:isolate}
.details-ledger:after{content:'MP';position:absolute;z-index:-1;right:34px;top:43%;color:rgba(165,125,66,.028);font:500 110px/1 Georgia,serif;letter-spacing:-.08em;pointer-events:none}
.detail-editorial-row{grid-template-columns:78px minmax(245px,.92fr) minmax(285px,1.08fr) 128px;min-height:126px;padding-top:13px;padding-bottom:13px}
.detail-editorial-row:hover{background:linear-gradient(90deg,rgba(249,242,231,.72),rgba(255,255,255,.28) 70%,transparent)}
.detail-row-copy strong{font-size:19px}
.details-layout-visual{height:80px}
.layout-mini-swatches i{height:57px}
.photo-slot-preview span{height:58px}
.video-inline-mark{height:62px}

.layout-sheet-tools{display:flex;align-items:center;gap:10px;margin:12px 2px 2px;padding-top:10px;border-top:1px solid rgba(179,145,88,.14)}
.layout-sheet-tools span{color:#887e73;font-size:7px}

.photo-draft-slot{position:relative}
.photo-draft-slot .photo-remove{position:absolute;top:5px;right:5px;width:20px;height:20px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(31,54,45,.92);color:#fff;font-size:11px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(24,47,39,.15)}
.photo-draft-slot .photo-remove:hover{transform:scale(1.05)}

@media (max-width:900px){
  .details-masthead{grid-template-columns:minmax(0,1fr) 285px}
  .details-masthead-copy{padding:21px 24px 18px}
  .detail-editorial-row{grid-template-columns:62px minmax(190px,.9fr) minmax(230px,1fr) 110px;min-height:120px}
}
@media (max-width:720px){
  .details-masthead{grid-template-columns:1fr;min-height:0;border-radius:19px}
  .details-masthead-copy{padding:20px 19px 16px}
  .details-masthead-copy h3{font-size:24px}
  .details-masthead-photo{min-height:132px}
  .details-masthead-photo:before{background:linear-gradient(0deg,rgba(17,34,28,.64),transparent 68%)}
  .details-masthead-photo img{height:132px;object-position:center 44%}
  .details-masthead-photo>div{left:18px;bottom:14px}
  .details-masthead .details-intro-progress{grid-template-columns:auto 1fr auto;gap:8px}
  .details-legend{gap:10px;overflow:hidden;white-space:nowrap}
  .details-legend span:nth-child(2){display:none}
  .details-legend span:last-child{margin-left:auto;font-size:5.4px}
  .detail-editorial-row{min-height:0}
}
@media (max-width:430px){
  .details-masthead-copy{padding:18px 16px 14px}
  .details-masthead-copy h3{font-size:21px}
  .details-couple-signature{flex-wrap:wrap;gap:7px}
  .details-couple-signature i{width:20px}
  .details-couple-signature span{font-size:5.7px}
  .details-masthead-photo,.details-masthead-photo img{min-height:116px;height:116px}
  .details-legend span:last-child{display:none}
}


/* V32.3 — Ponto 5: tipografia, estados e fotografias com miniatura */
.details-page-title small{font-size:8px!important;letter-spacing:.18em!important}
.details-page-title h2{font-size:34px!important;line-height:1.04!important}
.details-page-title p{font-size:10.5px!important;line-height:1.55!important;max-width:680px!important}
.details-masthead-copy>small{font-size:8px!important;letter-spacing:.19em!important}
.details-masthead-copy h3{font-size:31px!important;line-height:1.08!important}
.details-masthead-copy>p{font-size:10px!important;line-height:1.6!important;max-width:620px!important}
.details-couple-signature strong{font-size:12px!important}
.details-couple-signature span{font-size:8px!important}
.details-legend{font-size:7.5px!important}
.detail-row-copy small{font-size:6.8px!important}
.detail-row-copy strong{font-size:21px!important}
.detail-row-copy p{font-size:9px!important}
.details-status{font-size:7px!important;min-height:24px!important;padding:0 9px!important}
.photo-slot-preview span{overflow:hidden;position:relative}
.photo-slot-preview span.has-thumb{padding:0;border-style:solid;background:#eee}
.photo-slot-preview span.has-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.photo-draft-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}
.photo-draft-slot{position:relative;min-height:126px!important;border-radius:14px!important;overflow:hidden!important;background:#fbf7f0!important;border:1px dashed rgba(174,137,73,.36)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important}
.photo-draft-slot.filled{border-style:solid!important;border-color:rgba(164,124,60,.28)!important;background:#f4ede2!important}
.photo-draft-slot.has-thumb{display:block!important;background:#151c18!important}
.photo-draft-slot.has-thumb img{display:block;width:100%;height:126px;object-fit:cover}
.photo-fallback{height:92px;width:100%;display:grid;place-items:center;background:linear-gradient(145deg,#17372d,#285546);color:#e6c77e;font-size:8px;font-weight:800;letter-spacing:.16em}
.photo-remove{position:absolute!important;top:7px!important;right:7px!important;z-index:5!important;width:27px!important;height:27px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.66)!important;background:rgba(18,30,25,.86)!important;color:#fff!important;font-size:17px!important;line-height:1!important;display:grid!important;place-items:center!important;box-shadow:0 4px 14px rgba(0,0,0,.18)!important}
.photo-remove:hover{background:#8c4f40!important}
.photo-draft-caption{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 7px;background:linear-gradient(180deg,transparent,rgba(13,20,17,.82));color:#fff;pointer-events:none}
.photo-draft-caption small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px;color:#fff}
.photo-draft-caption span{display:block;margin-top:2px;font-size:6px;color:rgba(255,255,255,.68)}
.photo-draft-hint{margin-top:9px;padding:9px 11px;border-radius:12px;background:#f7efe2;border:1px solid rgba(177,138,73,.18);color:#6f6559;font-size:8.5px;line-height:1.45}
.photo-selection-head span{font-size:7px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}
@media (max-width:760px){
 .details-page-title h2{font-size:29px!important}
 .details-masthead-copy h3{font-size:26px!important}
 .details-masthead-copy>p{font-size:9.5px!important}
 .photo-draft-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .photo-draft-slot,.photo-draft-slot.has-thumb img{min-height:120px!important;height:120px}
}

/* =========================================================
   V32.4 · PONTO 5 — MOVIMENTO MAIS FINO + SLOTS FOTOGRÁFICOS
   ========================================================= */
/* Sem "salto" no hover: só muda luz/contraste, sem deslocar conteúdo */
.details-view .detail-editorial-row{
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.details-view .detail-editorial-row:hover{
  padding-left:4px!important;
  padding-right:4px!important;
  transform:none!important;
  box-shadow:inset 3px 0 0 rgba(177,132,62,.18)!important;
  background:linear-gradient(90deg,rgba(249,242,231,.62),rgba(255,255,255,.18) 72%,transparent)!important;
}
.details-view .detail-editorial-row:active{transform:none!important}
.details-view .details-layout-visual,
.details-view .photo-slot-preview span,
.details-view .details-status{transition:background-color .18s ease,border-color .18s ease,opacity .18s ease!important}

/* Linha Fotografias: miniaturas com numeração discreta */
.photo-slot-preview span{position:relative!important}
.photo-slot-preview span i{
  position:absolute;right:5px;bottom:5px;z-index:3;width:17px;height:17px;border-radius:50%;
  display:grid;place-items:center;background:rgba(22,48,39,.86);color:#f1d699;
  font:700 6px/1 Arial,sans-serif;font-style:normal;box-shadow:0 2px 7px rgba(0,0,0,.13)
}
.photo-slot-preview span.empty-slot{grid-template-columns:1fr;gap:2px;color:#a77d3b}
.photo-slot-preview span.empty-slot b{font:400 16px/1 Georgia,serif}
.photo-slot-preview span.empty-slot i{background:#f0e7d9;color:#9d7438;box-shadow:none}
.photo-slot-preview span.filled.has-thumb:after{
  content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(244,220,169,.26);pointer-events:none
}

/* No modal, qualquer espaço vazio passa a ser um verdadeiro botão de upload */
.photo-add-slot{
  appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important;color:inherit!important;font:inherit!important;
  padding:10px!important;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease!important
}
.photo-add-slot:hover{
  transform:none!important;background:#fffaf2!important;border-color:rgba(166,121,52,.62)!important;
  box-shadow:inset 0 0 0 1px rgba(176,129,56,.08),0 8px 22px rgba(67,48,22,.045)!important
}
.photo-add-slot:focus-visible{outline:2px solid rgba(171,126,57,.42)!important;outline-offset:2px!important}
.photo-add-slot .photo-slot-number{
  position:absolute;top:8px;left:9px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;
  background:#f2eadf;color:#9f783e;font:700 7px/1 Arial,sans-serif
}
.photo-add-slot .photo-slot-plus{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;margin:3px auto 1px;
  border:1px solid rgba(168,126,61,.3);background:#fffdf8;color:#a37634;font:400 20px/1 Georgia,serif
}
.photo-add-slot small{margin-top:5px!important;color:#8c7f6e!important;font-size:7px!important;letter-spacing:.02em}
.photo-draft-slot.filled{box-shadow:0 8px 18px rgba(48,35,19,.045)}
.photo-draft-slot.filled.has-thumb:after{
  content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(236,210,157,.24);pointer-events:none
}
.photo-remove{transition:background-color .16s ease,box-shadow .16s ease!important}
.photo-remove:hover{transform:none!important;background:#8c4f40!important;box-shadow:0 4px 14px rgba(75,33,26,.2)!important}
.photo-selection-head:after{
  content:'Toquem num espaço vazio para adicionar';margin-left:auto;color:#9b8d7a;font-size:6.5px;letter-spacing:.05em
}

/* toque editorial: linha fina champagne acima da grelha, sem criar mais uma caixa */
.photo-draft-grid{position:relative;padding-top:8px!important}
.photo-draft-grid:before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,rgba(171,126,57,.46),rgba(171,126,57,.08),transparent)
}

@media (max-width:720px){
  .details-view .detail-editorial-row:hover{padding-left:0!important;padding-right:0!important;box-shadow:none!important}
  .photo-selection-head:after{display:none}
}


/* V33 · Ponto 6 — Planeamento de horas */
.view[data-view="calendar"] .hours-page-title small{display:block;font-size:9px;letter-spacing:.24em;font-weight:800;color:#ad7d27;margin-bottom:10px}
.view[data-view="calendar"] .hours-page-title h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,46px);line-height:1.03;margin-bottom:9px}
.view[data-view="calendar"] .hours-page-title p{max-width:560px;line-height:1.65;color:#766f67}
.timeline article.timeline-important{border-color:rgba(181,140,43,.44)!important;background:linear-gradient(135deg,#fffdfa 0%,#fbf3e4 100%)!important;box-shadow:0 16px 34px rgba(103,75,26,.08)}
.timeline article.timeline-important:before{width:12px;height:12px;left:15px;top:22px;background:#b58c2b!important;box-shadow:0 0 0 5px rgba(181,140,43,.10)}
.timeline article.timeline-important strong{font-family:Georgia,serif;font-size:17px!important;color:#1b2d27}
.timeline article.timeline-important em{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:#173129;color:#f2dca9;font-style:normal;font-size:7px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.schedule-essential-field{margin-top:8px;padding:14px 14px 10px;border:1px solid rgba(181,140,43,.28);border-radius:16px;background:linear-gradient(180deg,rgba(255,250,240,.92),rgba(250,244,232,.72))}
.schedule-essential-field .field{margin-bottom:6px}
.schedule-essential-field>small{display:block;font-size:9px;line-height:1.45;color:#8c7448;letter-spacing:.02em}
@media (min-width:900px){
 .view[data-view="calendar"]{grid-template-columns:minmax(280px,.72fr) minmax(500px,1.28fr)!important;column-gap:34px!important;align-items:start}
 .view[data-view="calendar"] .service-conditions-card{grid-column:1;max-width:430px}
 .view[data-view="calendar"] .timeline{grid-row:1 / span 4!important}
}
@media (max-width:620px){
 .view[data-view="calendar"] .hours-page-title h2{font-size:32px}
 .timeline article.timeline-important strong{font-size:15px!important}
}

/* V33.1 · Ponto 6 — composição editorial mais fina */
.view[data-view="calendar"]{max-width:none!important}
.view[data-view="calendar"] .hours-page-title{margin-bottom:24px!important}
.view[data-view="calendar"] .hours-page-title small{font-size:9px!important;letter-spacing:.27em!important;color:#aa7d31!important}
.view[data-view="calendar"] .hours-page-title h2{font-size:clamp(34px,4.2vw,52px)!important;font-weight:500!important;letter-spacing:-.025em!important}
.view[data-view="calendar"] .hours-page-title p{font-size:12px!important;max-width:620px!important;color:#777068!important}

.hours-stage{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(480px,1.22fr);gap:42px;align-items:start}
.hours-side{display:grid;gap:18px;align-content:start}
.hours-date-card{position:relative;overflow:hidden;min-height:290px;padding:34px 30px 28px;border-top:1px solid rgba(181,140,43,.55);border-bottom:1px solid rgba(208,194,170,.62);background:linear-gradient(150deg,rgba(255,253,249,.95),rgba(248,241,231,.82));box-shadow:0 22px 60px rgba(35,25,15,.045)}
.hours-watermark{position:absolute;right:-22px;bottom:-22px;width:172px;height:172px;opacity:.045;pointer-events:none}
.hours-date-card>small{display:block;font-size:8px;letter-spacing:.25em;font-weight:800;color:#a37b3c;margin-bottom:22px}
.hours-date-card>strong{display:block;max-width:300px;font-family:Georgia,serif;font-size:clamp(31px,3.1vw,43px);font-weight:500;line-height:1.02;color:#1b2e28;letter-spacing:-.025em}
.hours-date-card>span{display:block;margin-top:10px;font-size:11px;letter-spacing:.04em;color:#8a7e70}
.hours-date-card>p{position:relative;z-index:1;max-width:330px;margin:34px 0 25px;padding-top:22px;border-top:1px solid rgba(183,160,125,.26);font-family:Georgia,serif;font-size:15px;line-height:1.62;color:#63594e}
.hours-edit-btn{position:relative;z-index:2;display:inline-flex;align-items:center;gap:22px;border:0;border-bottom:1px solid rgba(157,119,57,.45);background:transparent;padding:8px 0 7px;color:#80622f;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.hours-edit-btn b{font-size:14px;font-weight:400;transition:transform .2s ease}
.hours-edit-btn:hover b{transform:translate(2px,-2px)}

.hours-flow{padding:4px 0 0}
.hours-flow-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2px 17px;border-bottom:1px solid rgba(199,183,160,.58)}
.hours-flow-head small{font-size:8px;font-weight:800;letter-spacing:.25em;color:#9d793d}
.hours-flow-head span{font-size:9px;color:#9a9187}
.view[data-view="calendar"] .timeline{display:block!important;margin:0!important;border:0!important}
.view[data-view="calendar"] .timeline article{display:grid!important;grid-template-columns:86px 18px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;min-height:86px;padding:20px 2px!important;border:0!important;border-bottom:1px solid rgba(216,205,189,.64)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;position:relative!important}
.view[data-view="calendar"] .timeline article:before{display:none!important}
.view[data-view="calendar"] .timeline b{padding:2px 0 0!important;font-family:Georgia,serif;font-size:18px!important;font-weight:500!important;line-height:1.15;color:#9d7535!important;letter-spacing:-.01em!important}
.view[data-view="calendar"] .timeline article>i{position:relative;display:block;width:9px;height:9px;margin-top:7px;border:1px solid #a68a62;border-radius:50%;background:#faf6ef;box-shadow:0 0 0 5px #faf6ef}
.view[data-view="calendar"] .timeline article>i:after{content:'';position:absolute;left:3px;top:10px;width:1px;height:72px;background:rgba(185,166,137,.38)}
.view[data-view="calendar"] .timeline article:last-child>i:after{display:none}
.timeline-copy{min-width:0}
.timeline-titleline{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.view[data-view="calendar"] .timeline strong{display:block!important;margin:0!important;font-family:Georgia,serif;font-size:20px!important;font-weight:500!important;line-height:1.16;color:#202820!important}
.view[data-view="calendar"] .timeline span{display:block!important;margin-top:7px;font-size:10.5px!important;line-height:1.55!important;color:#81786e!important}
.view[data-view="calendar"] .timeline article.timeline-important{margin:10px 0 0!important;padding:22px 18px!important;border:1px solid rgba(181,140,43,.32)!important;border-radius:18px!important;background:linear-gradient(135deg,rgba(255,253,248,.98),rgba(249,240,223,.78))!important;box-shadow:0 16px 36px rgba(92,67,25,.055)!important}
.view[data-view="calendar"] .timeline article.timeline-important>i{background:#b58c2b;border-color:#b58c2b;box-shadow:0 0 0 5px rgba(181,140,43,.09)}
.view[data-view="calendar"] .timeline article.timeline-important>i:after{display:none}
.view[data-view="calendar"] .timeline article.timeline-important strong{font-size:21px!important;color:#1a3028!important}
.view[data-view="calendar"] .timeline article.timeline-important em{position:static!important;flex:0 0 auto;display:inline-flex!important;align-items:center!important;white-space:nowrap;margin:0!important;padding:5px 8px!important;border-radius:999px!important;background:#183229!important;color:#ead298!important;font-style:normal!important;font-size:6.5px!important;font-weight:800!important;line-height:1!important;letter-spacing:.14em!important;text-transform:uppercase!important}

.view[data-view="calendar"] .service-conditions-card{margin:0!important;padding:22px 4px 0!important;border:0!important;border-top:1px solid rgba(199,183,160,.55)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.view[data-view="calendar"] .service-conditions-card small{font-size:7px!important;letter-spacing:.22em!important;color:#aa8140!important}
.view[data-view="calendar"] .service-conditions-card strong{font-size:16px!important;line-height:1.35!important;font-weight:500!important}
.view[data-view="calendar"] .service-conditions-card p{font-size:10px!important;line-height:1.65!important;color:#817970!important}

@media (max-width:899px){
  .hours-stage{grid-template-columns:1fr;gap:26px}
  .hours-side{gap:14px}
  .hours-date-card{min-height:0;padding:27px 24px 24px}
  .hours-date-card>p{margin-top:26px}
  .hours-flow{padding-top:0}
}
@media (max-width:620px){
  .view[data-view="calendar"] .hours-page-title{margin-bottom:18px!important}
  .view[data-view="calendar"] .hours-page-title h2{font-size:34px!important}
  .hours-date-card{padding:24px 20px 22px}
  .hours-date-card>strong{font-size:31px}
  .hours-watermark{width:130px;height:130px}
  .hours-flow-head{padding-bottom:13px}
  .view[data-view="calendar"] .timeline article{grid-template-columns:64px 14px minmax(0,1fr)!important;gap:10px!important;min-height:78px;padding:18px 0!important}
  .view[data-view="calendar"] .timeline b{font-size:16px!important}
  .view[data-view="calendar"] .timeline strong{font-size:17px!important}
  .view[data-view="calendar"] .timeline article.timeline-important{grid-template-columns:58px 14px minmax(0,1fr)!important;padding:18px 14px!important}
  .view[data-view="calendar"] .timeline article.timeline-important strong{font-size:18px!important}
  .timeline-titleline{align-items:flex-start;gap:8px}
  .view[data-view="calendar"] .timeline article.timeline-important em{font-size:6px!important;padding:5px 7px!important}
}
/* ensure the new editorial stage owns the desktop layout */
.view[data-view="calendar"].active{display:block!important;grid-template-columns:none!important}
\n\n/* V33.3 — destaque subtil para horário e condições */\n.view[data-view="calendar"] .hours-service-summary{\n  padding:20px 0 0!important;\n  border-top:1px solid rgba(178,139,77,.48)!important;\n}\n.view[data-view="calendar"] .hours-service-summary>small{\n  display:block;\n  margin-bottom:11px!important;\n  color:#9d7331!important;\n  letter-spacing:.24em!important;\n}\n.view[data-view="calendar"] .hours-service-line{\n  display:grid;\n  grid-template-columns:112px minmax(0,1fr);\n  gap:14px;\n  align-items:baseline;\n  padding:10px 12px;\n  border-top:1px solid rgba(199,183,160,.34);\n}\n.view[data-view="calendar"] .hours-service-line-main{\n  border-top:0;\n  background:linear-gradient(90deg,rgba(196,150,68,.09),rgba(196,150,68,.025));\n  border-radius:10px;\n}\n.view[data-view="calendar"] .hours-service-line span{\n  font-size:8px;\n  font-weight:800;\n  letter-spacing:.13em;\n  text-transform:uppercase;\n  color:#9b835e;\n}\n.view[data-view="calendar"] .hours-service-line strong{\n  margin:0!important;\n  font-family:Georgia,serif;\n  font-size:15px!important;\n  line-height:1.35!important;\n  font-weight:500!important;\n  color:#263b34!important;\n}\n.view[data-view="calendar"] .hours-service-summary>p{\n  margin:12px 3px 0!important;\n  font-size:9.5px!important;\n  line-height:1.6!important;\n  color:#81786d!important;\n}\n@media(max-width:720px){\n  .view[data-view="calendar"] .hours-service-line{grid-template-columns:1fr;gap:4px;padding:10px 11px}\n  .view[data-view="calendar"] .hours-service-line strong{font-size:14px!important}\n}\n
/* V34 — revisão final, navegação limpa e primeiro acesso vazio */
.planning-save-note{margin-top:18px;padding:15px 18px;border-top:1px solid rgba(184,151,92,.24);display:flex;align-items:flex-start;gap:12px;color:#6f665c}
.planning-save-note>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eef4ef;color:#315c46;font-size:11px;font-weight:800;flex:0 0 auto}
.planning-save-note strong{display:block;color:#20332c;font:600 15px/1.25 Georgia,serif;margin-bottom:4px}
.planning-save-note p{margin:0;font-size:10px;line-height:1.55;color:#81776d}
.planning-journey-row.review .journey-status{background:#f4ecdf;color:#9b7135;border-color:#e5d2b1}

.review-view{padding-bottom:36px}
.review-page-title{margin-bottom:20px}
.review-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:24px;align-items:end;padding:30px 32px;border-radius:24px;background:linear-gradient(135deg,#18342b 0%,#10261f 100%);color:#fff;box-shadow:0 18px 42px rgba(20,46,37,.11)}
.review-hero:after{content:"MP";position:absolute;right:22px;top:-12px;font:700 94px/1 Georgia,serif;color:rgba(218,190,132,.06);letter-spacing:-.06em;pointer-events:none}
.review-hero-copy{position:relative;z-index:1}.review-hero-copy>small,.review-section-head small,.review-send-panel>div>small{display:block;font-size:8px;letter-spacing:.2em;font-weight:800;color:#caa969;margin-bottom:8px}
.review-hero-copy h3{font:500 clamp(25px,3vw,38px)/1.06 Georgia,serif;margin:0 0 10px;max-width:580px}.review-hero-copy h3 em{color:#dec48f;font-weight:500}.review-hero-copy p{max-width:620px;margin:0;color:rgba(255,255,255,.64);font-size:11px;line-height:1.65}
.review-progress-wrap{position:relative;z-index:1;padding:16px 18px;border:1px solid rgba(224,196,143,.24);border-radius:18px;background:rgba(255,255,255,.045)}
.review-progress-wrap>strong{display:block;font:600 36px/1 Georgia,serif;color:#e0c48e}.review-progress-wrap>span{display:block;margin-top:5px;font-size:9px;color:rgba(255,255,255,.58);letter-spacing:.05em}
.review-progress{height:4px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden;margin-top:13px}.review-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#b78a42,#ead4a5);border-radius:inherit;transition:width .4s ease}
.review-section{margin-top:22px;background:#fffdf9;border:1px solid rgba(220,209,191,.78);border-radius:21px;padding:18px 20px;box-shadow:0 10px 28px rgba(53,42,27,.035)}
.review-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:2px 2px 13px;border-bottom:1px solid rgba(220,209,191,.62)}
.review-section-head small{color:#aa8144;margin-bottom:4px}.review-section-head strong{display:block;color:#1e342c;font:600 18px/1.2 Georgia,serif}.review-section-head>span{font-size:9px;color:#8d8174;white-space:nowrap}
.review-list{display:flex;flex-direction:column}.review-row{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto 14px;gap:12px;align-items:center;padding:15px 2px;border:none;border-bottom:1px solid rgba(225,216,201,.58);background:transparent;text-align:left;color:#20332c}.review-row:last-child{border-bottom:none}.review-row:hover{background:rgba(248,244,237,.55)}
.review-row-index{font:600 12px/1 Georgia,serif;color:#b38d52}.review-row>div{min-width:0}.review-row strong{display:block;font-size:11px;line-height:1.3}.review-row small{display:block;margin-top:3px;font-size:9px;line-height:1.4;color:#8a8075}.review-row-state{font-size:8px;font-weight:800;letter-spacing:.05em;padding:6px 9px;border-radius:999px;white-space:nowrap}.review-row.done .review-row-state{background:#edf4ef;color:#37614e}.review-row.missing .review-row-state{background:#f7eee1;color:#9a6e2f}.review-row>b{font-size:17px;font-weight:400;color:#b38d52}.review-row-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f5efe5;color:#a47d43;font-size:10px}.review-row.optional{grid-template-columns:36px minmax(0,1fr) auto 14px}.review-row.optional .review-row-state{background:#f4f0e9;color:#8b8175}.review-row.optional.done .review-row-state{background:#edf4ef;color:#37614e}
.review-optional-section{background:#fbf8f2;box-shadow:none}
.review-send-panel{margin-top:22px;padding:22px 24px;border-radius:21px;background:linear-gradient(180deg,#f7f0e5,#fffdf9);border:1px solid rgba(196,161,100,.34);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 24px;align-items:center}.review-send-panel>div>small{color:#a67d40;margin-bottom:5px}.review-send-panel>div>strong{display:block;font:600 20px/1.2 Georgia,serif;color:#20352d}.review-send-panel>div>p{margin:6px 0 0;max-width:650px;font-size:10px;line-height:1.55;color:#7e7469}.review-send-panel>small{grid-column:1/-1;font-size:8.5px;color:#8b8176}
.review-send-btn{min-width:190px;height:46px;border:none;border-radius:14px;background:#17372d;color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;box-shadow:0 10px 24px rgba(24,55,45,.14);transition:transform .18s ease,opacity .18s ease}.review-send-btn:not(:disabled):hover{transform:translateY(-1px)}.review-send-btn:disabled{background:#d8d1c7;color:#938a7f;box-shadow:none;cursor:not-allowed}.review-send-btn.sent{background:#315c46;color:#fff}
.send-missing-list{margin:16px 0 4px;border:1px solid #e5dac9;border-radius:16px;overflow:hidden}.send-missing-list>div{display:grid;grid-template-columns:24px 1fr;gap:9px;padding:11px 13px;border-bottom:1px solid #eee5d8}.send-missing-list>div:last-child{border-bottom:none}.send-missing-list>div>span{color:#a77d3d}.send-missing-list strong{display:block;font-size:11px;color:#21362e}.send-missing-list small{display:block;margin-top:2px;font-size:9px;color:#8c8074}

@media (max-width:760px){
 .review-hero{grid-template-columns:1fr;padding:24px 21px;border-radius:20px;gap:18px}.review-hero:after{font-size:72px}.review-progress-wrap{max-width:none}.review-section{padding:15px 14px;border-radius:18px}.review-section-head{align-items:flex-start}.review-section-head>span{white-space:normal;text-align:right}.review-row{grid-template-columns:28px minmax(0,1fr) 12px;gap:9px;padding:14px 1px}.review-row-state{grid-column:2/3;justify-self:start;margin-top:-4px}.review-row>b{grid-column:3;grid-row:1/3}.review-row.optional{grid-template-columns:28px minmax(0,1fr) 12px}.review-send-panel{grid-template-columns:1fr;padding:19px 18px}.review-send-btn{width:100%;min-width:0}.review-send-panel>small{grid-column:1}.planning-save-note{padding-left:4px;padding-right:4px}
}

/* V34.1 — navegação Voltar mais clara + Documentos em espera */
.app-header{
  grid-template-columns:84px minmax(0,1fr) 84px!important;
}
.header-back{
  width:auto!important;
  min-width:72px!important;
  height:34px!important;
  padding:0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  border:1px solid rgba(199,148,36,.18)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,253,250,.96),rgba(247,240,230,.9))!important;
  box-shadow:0 6px 16px rgba(31,24,17,.045)!important;
  color:#294038!important;
}
.header-back .back-arrow{font-size:15px;line-height:1;font-weight:500}
.header-back small{font-size:9px;line-height:1;font-weight:750;letter-spacing:.04em;color:#625647}
.header-back.hidden{visibility:hidden!important;pointer-events:none!important}
.header-icon{justify-self:end!important}
.header-brand{min-width:0}
.brand-pill{max-width:100%}
.brand-pill img{max-width:100%;height:auto}
.header-back:hover{transform:translateX(-1px);box-shadow:0 8px 18px rgba(31,24,17,.06)!important}

.documents-page-title>small{display:block;margin-bottom:6px;font-size:7.5px;letter-spacing:.2em;font-weight:800;color:#aa8650}
.documents-placeholder{max-width:560px;margin:22px auto 0;padding:38px 30px 34px;text-align:center;border-top:1px solid rgba(185,151,100,.35);border-bottom:1px solid rgba(185,151,100,.22);background:linear-gradient(180deg,rgba(255,253,249,.74),rgba(248,242,233,.66));position:relative;overflow:hidden}
.documents-placeholder:after{content:'';position:absolute;width:150px;height:150px;border:1px solid rgba(190,157,109,.12);border-radius:50%;right:-70px;top:-76px}
.documents-placeholder-mark{width:46px;height:46px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#1c3029;color:#d3aa68;font-size:19px;box-shadow:0 12px 26px rgba(21,39,32,.11)}
.documents-placeholder small{display:block;font-size:7.5px;letter-spacing:.2em;font-weight:800;color:#a47f48;margin-bottom:9px}
.documents-placeholder h3{font-family:Georgia,serif;font-size:22px;line-height:1.2;margin:0 auto 9px;color:#211c17;max-width:390px;font-weight:500}
.documents-placeholder p{font-size:10.5px;line-height:1.65;color:#756b60;max-width:430px;margin:0 auto}
@media(max-width:390px){
  .app-header{grid-template-columns:76px minmax(0,1fr) 76px!important;padding-left:12px!important;padding-right:12px!important}
  .header-back{min-width:66px!important;padding:0 8px!important;gap:4px!important}
  .header-back small{font-size:8.5px}
  .documents-placeholder{padding:32px 20px 29px}
}

/* V34.2 — polimento: timeline alinhada + layout limpo + Início explícito */
.header-home-button{
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(145deg,#13221d,#233730)!important;
  border:1px solid rgba(199,148,36,.16)!important;
  color:#d9b86c!important;
}
.header-home-button svg{
  width:17px!important;
  height:17px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Layout: as três cores ficam totalmente limpas e a ação fica inequívoca */
.details-view .details-layout-visual>span:not(.layout-chosen-check){display:none!important}
.details-view .layout-mini-swatches{
  width:100%;
  justify-content:center;
  align-items:center;
}
.details-view .detail-row-action>b{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#9c7133!important;
  background:#fffaf1;
  border:1px solid rgba(166,121,52,.25);
  font:400 15px/1 Georgia,serif!important;
  box-shadow:0 5px 14px rgba(75,53,23,.04);
}
.details-view .detail-editorial-row:hover .detail-row-action>b{
  background:#f8eedf;
  border-color:rgba(166,121,52,.42);
}

/* Corte do bolo: destaque sem sair do eixo da timeline */
.view[data-view="calendar"] .timeline article.timeline-important{
  grid-template-columns:86px 18px minmax(0,1fr)!important;
  gap:16px!important;
  min-height:86px!important;
  margin:0!important;
  padding:20px 2px!important;
  border:0!important;
  border-bottom:1px solid rgba(181,140,43,.34)!important;
  border-radius:0!important;
  background:linear-gradient(90deg,rgba(196,150,68,.085),rgba(196,150,68,.022) 72%,transparent)!important;
  box-shadow:inset 3px 0 0 rgba(181,140,43,.34)!important;
}
.view[data-view="calendar"] .timeline article.timeline-important>i{
  margin-top:7px!important;
  width:9px!important;
  height:9px!important;
  background:#b58c2b!important;
  border:1px solid #b58c2b!important;
  box-shadow:0 0 0 5px rgba(181,140,43,.09)!important;
}
.view[data-view="calendar"] .timeline article.timeline-important>i:after{
  display:none!important;
}
.view[data-view="calendar"] .timeline article.timeline-important strong{
  font-size:20px!important;
}

@media(max-width:620px){
  .view[data-view="calendar"] .timeline article.timeline-important{
    grid-template-columns:64px 14px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:78px!important;
    padding:18px 0!important;
  }
  .view[data-view="calendar"] .timeline article.timeline-important strong{font-size:17px!important}
  .details-view .detail-row-action>b{width:26px;height:26px;font-size:14px!important}
}


/* V34.3 — horários coerentes + destaque mais fino */
.view[data-view="calendar"] .timeline article.timeline-important{
  background:linear-gradient(90deg,rgba(196,150,68,.05),rgba(196,150,68,.012) 70%,transparent)!important;
  box-shadow:none!important;
  border-left:0!important;
  border-bottom:1px solid rgba(181,140,43,.22)!important;
}
.view[data-view="calendar"] .timeline article.timeline-important>i{
  box-shadow:0 0 0 4px rgba(181,140,43,.07)!important;
}
.schedule-clear-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 2px 2px;
  padding-top:11px;
  border-top:1px solid rgba(201,185,162,.5);
}
.schedule-clear-row button{
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:4px 0;
  color:#98713b;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  border-bottom:1px solid rgba(152,113,59,.3);
}
.schedule-clear-row button:hover{border-bottom-color:rgba(152,113,59,.7)}
.schedule-clear-row span{
  font-size:8.5px;
  line-height:1.45;
  color:#8b8176;
  text-align:right;
}
@media(max-width:520px){
  .schedule-clear-row{align-items:flex-start;flex-direction:column;gap:6px}
  .schedule-clear-row span{text-align:left}
}

/* =========================================================
   V35 · PERFIL — PRIVATE CLIENT EXPERIENCE
   ========================================================= */
.profile-view{--profile-ink:#173027;--profile-gold:#b58a35;--profile-soft:#f6efe4;--profile-line:rgba(193,166,122,.34)}
.profile-page-title small{display:block;color:#a67d31;font-size:8px;font-weight:800;letter-spacing:.22em;margin-bottom:7px}
.profile-page-title h2{margin-bottom:5px!important}
.profile-client-card{position:relative;overflow:hidden;border:1px solid var(--profile-line);border-radius:26px;background:linear-gradient(135deg,#fffdfa 0%,#f4ecdf 100%);box-shadow:0 22px 48px rgba(40,30,20,.07);display:grid;grid-template-columns:minmax(190px,.78fr) 1.22fr;min-height:270px}
.profile-client-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 86% 12%,rgba(181,138,53,.11),transparent 28%);pointer-events:none}
.profile-client-card:after{content:'MP';position:absolute;right:28px;bottom:-38px;font-family:Georgia,serif;font-size:136px;line-height:1;color:rgba(25,51,42,.035);pointer-events:none}
.profile-client-photo{position:relative;min-height:270px;overflow:hidden}
.profile-client-photo>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 32%;border-radius:0!important;border:0!important;box-shadow:none!important;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.profile-client-card:hover .profile-client-photo>img{transform:scale(1.012)}
.profile-client-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(12,31,25,.56));pointer-events:none}
.profile-photo-edit{position:absolute;left:18px;bottom:17px;z-index:2;border:1px solid rgba(255,255,255,.45);background:rgba(20,43,35,.76);backdrop-filter:blur(12px);color:#fff;border-radius:999px;padding:9px 13px;font-size:9px;font-weight:700;letter-spacing:.03em;display:flex;align-items:center;gap:7px;box-shadow:0 10px 22px rgba(12,26,21,.15)}
.profile-photo-edit span{font-size:14px;font-weight:300;color:#e8c676;line-height:1}
.profile-photo-edit:hover{background:rgba(20,43,35,.9)}
.profile-client-copy{position:relative;z-index:1;padding:31px 34px 28px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.profile-private-label{color:#aa8031;font-size:7.5px;font-weight:800;letter-spacing:.23em;margin-bottom:10px}
.profile-client-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.04;color:var(--profile-ink);margin:0 0 6px;letter-spacing:-.035em}
.profile-client-email{margin:0;color:#726a60;font-size:10.5px}
.profile-event-meta{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:25px 0 19px;padding-top:18px;border-top:1px solid rgba(181,138,53,.24)}
.profile-event-meta div{min-width:0}
.profile-event-meta small{display:block;color:#9e7a3b;font-size:6.5px;font-weight:800;letter-spacing:.19em;margin-bottom:5px}
.profile-event-meta strong{display:block;color:#28231e;font-family:Georgia,serif;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-client-status{display:flex;align-items:center;gap:8px;font-size:8.5px;color:#736b62;min-width:0}
.profile-client-status i{width:7px;height:7px;border-radius:50%;background:#b89143;box-shadow:0 0 0 4px rgba(184,145,67,.1)}
.profile-client-status span{font-weight:700;color:#29453b}
.profile-client-status b{font-weight:500;color:#938675;padding-left:8px;border-left:1px solid rgba(181,138,53,.24)}
.profile-section{border-top:1px solid rgba(187,160,117,.24);padding-top:18px}
.profile-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:11px}
.profile-section-heading>div small{display:block;color:#a67d31;font-size:6.5px;font-weight:800;letter-spacing:.19em;margin-bottom:4px}
.profile-section-heading h3{font-family:Georgia,serif;font-size:19px;line-height:1.1;color:#252019;margin:0;font-weight:600}
.profile-section-heading>span{font-size:8px;color:#948a7f;text-align:right}
.profile-action-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-action-row,.profile-documents-row{width:100%;border:1px solid rgba(205,190,167,.78);background:rgba(255,253,250,.82);border-radius:16px;padding:14px 15px;display:grid;grid-template-columns:36px 1fr 16px;gap:10px;align-items:center;text-align:left;color:#27211b;box-shadow:0 10px 22px rgba(40,30,20,.025);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.profile-action-row:hover,.profile-documents-row:hover{transform:translateY(-1px);border-color:rgba(181,138,53,.42);box-shadow:0 13px 26px rgba(40,30,20,.045)}
.profile-action-icon{width:34px;height:34px;border-radius:12px;background:#f6efe4;color:#9c7836;display:grid;place-items:center;font-size:15px}
.profile-action-row div,.profile-documents-row div{display:flex;flex-direction:column;min-width:0}
.profile-action-row strong,.profile-documents-row strong{font-size:11px;line-height:1.25}
.profile-action-row small,.profile-documents-row small{font-size:8px;color:#8d8378;margin-top:3px;line-height:1.35}
.profile-action-row>b,.profile-documents-row>b{font-size:18px;font-weight:300;color:#aa8a53}
.profile-install-card{width:100%;border:1px solid rgba(181,138,53,.28);border-radius:18px;padding:15px;background:linear-gradient(105deg,#173027 0%,#213e34 72%,#28483d 100%);color:#fff;display:grid;grid-template-columns:48px 1fr 18px;gap:13px;align-items:center;text-align:left;box-shadow:0 16px 30px rgba(23,48,39,.12);position:relative;overflow:hidden}
.profile-install-card:after{content:'';position:absolute;width:130px;height:130px;border:1px solid rgba(226,195,126,.15);border-radius:50%;right:-62px;top:-70px}
.profile-install-mark{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(225,195,128,.2);display:grid;place-items:center}
.profile-install-mark img{width:24px!important;height:24px!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.profile-install-card div{display:flex;flex-direction:column;align-items:flex-start;min-width:0;position:relative;z-index:1}
.profile-install-card strong{font-family:Georgia,serif;font-size:14px;font-weight:500;color:#fff}
.profile-install-card small{font-size:8px;color:rgba(255,255,255,.65);margin-top:4px;line-height:1.35}
.profile-install-card>b{font-size:20px;font-weight:300;color:#d6b76c;position:relative;z-index:1}
.profile-install-card.installed{background:linear-gradient(105deg,#1b3a2f,#2c5444)}
.profile-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.profile-support-card{border:1px solid rgba(205,190,167,.75);background:rgba(255,253,250,.78);border-radius:16px;padding:14px;text-align:left;display:flex;gap:10px;align-items:center;min-height:70px;color:#28221c;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.profile-support-card:hover{transform:translateY(-1px);border-color:rgba(181,138,53,.4);box-shadow:0 13px 26px rgba(40,30,20,.04)}
.profile-support-card>span{width:33px;height:33px;border-radius:12px;background:#f6efe4;color:#9b7838;display:grid;place-items:center;flex:0 0 33px;font-size:13px}
.profile-support-card div{display:flex;flex-direction:column;min-width:0}
.profile-support-card strong{font-size:10.5px;line-height:1.2}
.profile-support-card small{font-size:7.5px;color:#8c8277;margin-top:3px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-documents-section{margin-top:2px}
.profile-documents-row{grid-template-columns:38px 1fr 18px;background:linear-gradient(180deg,#fffdfa,#faf5ed)}
.profile-documents-row>span{width:36px;height:36px;border-radius:12px;border:1px solid rgba(181,138,53,.22);display:grid;place-items:center;color:#a78342;background:#fffaf2}
.profile-session-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 2px 6px;color:#a0968b;font-size:8px}
.profile-logout{border:0;background:transparent;color:#a36b67;font-size:8.5px;padding:7px 0;border-bottom:1px solid rgba(163,107,103,.24)}
.profile-logout:hover{color:#8c4f4b;border-color:#8c4f4b}

@media (min-width:760px){
  .view[data-view="profile"].active{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:18px!important;align-content:start}
  .view[data-view="profile"] .profile-page-title{grid-column:1 / -1!important;grid-row:auto!important}
  .view[data-view="profile"] .profile-client-card{grid-column:1 / -1!important;grid-row:auto!important}
  .view[data-view="profile"] .profile-account-section{grid-column:1!important;grid-row:auto!important}
  .view[data-view="profile"] .profile-mobile-section{grid-column:2!important;grid-row:auto!important}
  .view[data-view="profile"] .profile-support-section{grid-column:1 / -1!important;grid-row:auto!important}
  .view[data-view="profile"] .profile-documents-section{grid-column:1 / -1!important;grid-row:auto!important}
  .view[data-view="profile"] .profile-session-row{grid-column:1 / -1!important;grid-row:auto!important}
}
@media (min-width:1080px){
  .profile-client-card{grid-template-columns:310px 1fr;min-height:300px}
  .profile-client-photo{min-height:300px}
  .profile-client-copy{padding:38px 46px}
  .profile-client-copy h3{font-size:42px}
  .profile-event-meta strong{font-size:14px}
  .profile-action-row{min-height:76px}
  .profile-install-card{min-height:98px;padding:18px}
  .profile-support-card{min-height:82px;padding:16px}
}
@media (max-width:640px){
  .profile-page-title{margin-bottom:14px!important}
  .profile-client-card{grid-template-columns:1fr;min-height:0;border-radius:22px}
  .profile-client-photo{height:235px;min-height:235px}
  .profile-client-photo>img{object-position:center 26%}
  .profile-client-copy{padding:22px 20px 20px}
  .profile-client-copy h3{font-size:29px}
  .profile-event-meta{gap:12px;margin:19px 0 17px}
  .profile-event-meta strong{font-size:12px;white-space:normal}
  .profile-client-status{flex-wrap:wrap;row-gap:6px}
  .profile-action-list{grid-template-columns:1fr}
  .profile-section-heading{align-items:flex-start}
  .profile-section-heading>span{max-width:120px}
  .profile-support-grid{grid-template-columns:1fr}
  .profile-support-card{min-height:62px}
  .profile-session-row{padding-bottom:10px}
}
@media (prefers-reduced-motion:reduce){.profile-client-photo>img,.profile-action-row,.profile-documents-row,.profile-support-card{transition:none!important}}

/* =========================================================
   V35.1 · PERFIL — CLEAN CLIENT EXPERIENCE
   ========================================================= */
.profile-clean-view{--pc-ink:#173027;--pc-gold:#b58a35;--pc-line:rgba(186,159,116,.30);--pc-muted:#8c8277}
.view[data-view="profile"].active{display:block!important}
.profile-clean-title{margin-bottom:18px!important}
.profile-clean-title small{display:block;color:#a67d31;font-size:8px;font-weight:800;letter-spacing:.22em;margin-bottom:7px}
.profile-clean-title h2{margin:0 0 5px!important}
.profile-clean-title p{max-width:520px;margin:0;color:#7c746c}

.profile-clean-hero{display:grid;grid-template-columns:220px 1fr;min-height:220px;border:1px solid var(--pc-line);border-radius:24px;overflow:hidden;background:#fffdf9;box-shadow:0 18px 40px rgba(43,32,20,.055)}
.profile-clean-photo{position:relative;min-height:220px;overflow:hidden;background:#eee6dc}
.profile-clean-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 30%;border:0!important;border-radius:0!important;box-shadow:none!important}
.profile-clean-photo:after{content:'';position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(15,34,28,.46));pointer-events:none}
.profile-clean-photo-action{position:absolute;z-index:2;left:14px;bottom:13px;border:1px solid rgba(255,255,255,.55);background:rgba(18,42,34,.72);backdrop-filter:blur(10px);color:#fff;border-radius:999px;padding:8px 11px;font-size:8.5px;font-weight:700}
.profile-clean-copy{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left}
.profile-clean-copy>small{color:#a77d31;font-size:7px;font-weight:800;letter-spacing:.22em;margin-bottom:8px}
.profile-clean-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:36px;line-height:1.02;color:var(--pc-ink);letter-spacing:-.035em;margin:0 0 6px}
.profile-clean-copy>p{margin:0;color:#766e65;font-size:10.5px}
.profile-clean-meta{width:100%;display:flex;gap:34px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(181,138,53,.20)}
.profile-clean-meta span{min-width:0;display:flex;flex-direction:column}
.profile-clean-meta small{color:#a07a3a;font-size:6.5px;font-weight:800;letter-spacing:.17em;margin-bottom:4px}
.profile-clean-meta strong{font-family:Georgia,serif;color:#2d2822;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.profile-clean-menu{margin-top:18px;border-top:1px solid var(--pc-line);border-bottom:1px solid var(--pc-line)}
.profile-clean-row{width:100%;min-height:72px;border:0;border-bottom:1px solid rgba(190,164,123,.20);background:transparent;color:#29231d;padding:14px 4px;display:grid;grid-template-columns:38px 1fr 18px;gap:12px;align-items:center;text-align:left;transition:background .2s ease,padding .2s ease}
.profile-clean-row:last-child{border-bottom:0}
.profile-clean-row:hover{background:rgba(248,241,231,.62);padding-left:10px;padding-right:10px}
.profile-clean-icon{width:36px;height:36px;border-radius:50%;border:1px solid rgba(181,138,53,.25);display:grid;place-items:center;color:#9a7739;background:#fffaf3;font-size:13px}
.profile-clean-row>span:nth-child(2){display:flex;flex-direction:column;min-width:0}
.profile-clean-row strong{font-size:11.5px;line-height:1.2;color:#28221c}
.profile-clean-row small{font-size:8.2px;color:var(--pc-muted);margin-top:4px;line-height:1.35}
.profile-clean-row>b{font-size:20px;font-weight:300;color:#ae8d55}
.profile-clean-docs{margin-top:4px}
.profile-clean-docs .profile-clean-icon{background:#f5eee3;color:#8e6d35}

.profile-clean-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px 4px;color:#a1978c;font-size:8px}
.profile-clean-logout{border:0;background:transparent;color:#9d615d;padding:6px 0;font-size:8.5px;border-bottom:1px solid rgba(157,97,93,.22)}
.profile-clean-logout:hover{color:#824c49;border-color:#824c49}

@media (min-width:1080px){
  .profile-clean-view{max-width:900px;margin-left:auto!important;margin-right:auto!important}
  .profile-clean-hero{grid-template-columns:260px 1fr;min-height:250px}
  .profile-clean-photo{min-height:250px}
  .profile-clean-copy{padding:36px 42px}
  .profile-clean-copy h3{font-size:42px}
  .profile-clean-row{min-height:76px}
}
@media (max-width:640px){
  .profile-clean-title{margin-bottom:14px!important}
  .profile-clean-hero{grid-template-columns:1fr;min-height:0;border-radius:21px}
  .profile-clean-photo{height:218px;min-height:218px}
  .profile-clean-copy{padding:20px 18px 19px}
  .profile-clean-copy h3{font-size:30px}
  .profile-clean-meta{gap:14px;margin-top:18px;padding-top:14px}
  .profile-clean-meta span{flex:1}
  .profile-clean-meta strong{font-size:11.5px;white-space:normal}
  .profile-clean-menu{margin-top:15px}
  .profile-clean-row{min-height:68px;padding:12px 2px;grid-template-columns:36px 1fr 16px;gap:10px}
  .profile-clean-row:hover{padding-left:5px;padding-right:5px}
  .profile-clean-footer{padding-bottom:10px}
}
@media (prefers-reduced-motion:reduce){.profile-clean-row{transition:none!important}}

/* =========================================================
   V36 · NOTIFICAÇÕES — simples, pessoais e client-facing
   ========================================================= */
.view[data-view="notifications"].active{
  max-width:980px!important;
  margin:0 auto!important;
}
.notifications-page-title{
  max-width:720px;
  margin-bottom:28px!important;
}
.notifications-page-title>small{
  display:block;
  color:var(--gold,#b58c2b);
  font-size:9px;
  font-weight:800;
  letter-spacing:2.8px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.notifications-page-title h2{
  margin-bottom:8px!important;
}
.notifications-page-title p{
  max-width:620px;
  margin:0;
  color:#746f68;
  line-height:1.65;
}
.notifications-summary{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  padding:24px 26px;
  border:1px solid rgba(181,140,43,.2);
  background:linear-gradient(135deg,#fffdf9 0%,#f7f1e6 100%);
  border-radius:20px;
  box-shadow:0 16px 40px rgba(35,29,22,.055);
  position:relative;
  overflow:hidden;
}
.notifications-summary:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:-90px;
  top:-115px;
  border:1px solid rgba(181,140,43,.16);
  pointer-events:none;
}
.notifications-summary-mark{
  width:52px;
  height:52px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#b58c2b;
  border:1px solid rgba(181,140,43,.3);
  background:rgba(255,255,255,.68);
  font-size:17px;
}
.notifications-summary-copy small{
  color:#9a7b39;
  font-size:8px;
  font-weight:800;
  letter-spacing:2px;
}
.notifications-summary-copy h3{
  font-family:'Playfair Display',Georgia,serif;
  color:#18372d;
  font-size:25px;
  line-height:1.15;
  margin:5px 0 6px;
  font-weight:600;
}
.notifications-summary-copy p{
  margin:0;
  color:#6c675f;
  font-size:12px;
  line-height:1.55;
}
.notifications-summary-side{
  min-width:116px;
  padding-left:20px;
  border-left:1px solid rgba(181,140,43,.18);
  display:grid;
  justify-items:end;
  position:relative;
  z-index:1;
}
.notifications-summary-side>strong{
  font-family:'Playfair Display',Georgia,serif;
  font-size:31px;
  color:#18372d;
  font-weight:600;
  line-height:1;
}
.notifications-summary-side>span{
  color:#837b70;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1.4px;
  margin-top:4px;
}
.notifications-summary-side button{
  margin-top:10px;
  border:0;
  background:none;
  padding:2px 0;
  color:#9b7628;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}
.notifications-summary-side button:disabled{
  color:#aaa39a;
  cursor:default;
}
.notifications-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  padding:28px 2px 12px;
  border-bottom:1px solid rgba(24,55,45,.1);
}
.notifications-section-head>div{
  display:grid;
  gap:3px;
}
.notifications-section-head small{
  color:#a27d32;
  font-size:8px;
  font-weight:800;
  letter-spacing:2.2px;
}
.notifications-section-head strong{
  color:#18372d;
  font-size:13px;
}
.notifications-section-head>span{
  font-size:9px;
  color:#817a70;
}
.notifications-feed{
  display:grid;
}
.notification-card{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(24,55,45,.09);
  background:transparent;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:17px 4px;
  text-align:left;
  cursor:pointer;
  position:relative;
  transition:background .18s ease,border-color .18s ease;
  border-radius:0;
}
.notification-card:hover{
  background:rgba(250,246,238,.72);
  border-color:rgba(181,140,43,.2);
}
.notification-card-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f4efe7;
  border:1px solid rgba(24,55,45,.08);
  color:#18372d;
  font-size:13px;
  font-family:'Playfair Display',Georgia,serif;
}
.notification-card.important .notification-card-icon{
  background:#f5ead1;
  color:#9b7628;
  border-color:rgba(181,140,43,.26);
}
.notification-card.success .notification-card-icon{
  background:#e9f2ec;
  color:#2e6a4f;
}
.notification-card.message .notification-card-icon{
  background:#18372d;
  color:#d8bd7d;
  border-color:#18372d;
}
.notification-card-copy{
  min-width:0;
}
.notification-card-copy>small{
  display:block;
  color:#a17d38;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:1.7px;
  margin-bottom:3px;
}
.notification-card-copy>strong{
  display:block;
  color:#1e332c;
  font-size:12px;
  line-height:1.35;
}
.notification-card-copy p{
  margin:4px 0 0;
  color:#706a63;
  font-size:10px;
  line-height:1.5;
  max-width:630px;
}
.notification-card-action{
  display:grid;
  grid-template-columns:6px auto 12px;
  align-items:center;
  gap:8px;
  color:#8d857a;
  padding-left:12px;
}
.notification-card-action i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#b58c2b;
  opacity:1;
}
.notification-card.is-read .notification-card-action i{
  opacity:0;
}
.notification-card.is-read .notification-card-copy{
  opacity:.74;
}
.notification-card-action small{
  font-size:8px;
  font-weight:700;
  color:#8d7550;
}
.notification-card-action b{
  font-size:17px;
  font-weight:400;
  color:#ae9f8a;
}
.notification-prefs-row{
  margin-top:22px;
  width:100%;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:14px 2px;
  border:0;
  border-top:1px solid rgba(24,55,45,.12);
  border-bottom:1px solid rgba(24,55,45,.12);
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.notification-prefs-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid rgba(181,140,43,.22);
  display:grid;
  place-items:center;
  color:#a27d32;
}
.notification-prefs-row strong{
  display:block;
  color:#20352e;
  font-size:10.5px;
}
.notification-prefs-row small{
  display:block;
  margin-top:2px;
  color:#847d74;
  font-size:8.5px;
}
.notification-prefs-row>b{
  color:#b19b79;
  font-weight:400;
  font-size:18px;
}
.notifications-empty{
  text-align:center;
  padding:42px 20px 30px;
  display:grid;
  justify-items:center;
  gap:6px;
}
.notifications-empty>span{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#eaf2ed;color:#396c54;margin-bottom:4px;
}
.notifications-empty strong{font-size:12px;color:#1f382f}
.notifications-empty p{margin:0;max-width:330px;font-size:9px;line-height:1.5;color:#80796f}

.notifications-nav-btn{position:relative}
.nav-notif-badge{
  position:absolute;
  width:6px;height:6px;border-radius:50%;
  background:#b58c2b;
  top:8px;
  left:calc(50% + 9px);
  opacity:0;
  transform:scale(.6);
  transition:.18s ease;
  box-shadow:0 0 0 2px var(--cream,#f6f1e8);
}
.nav-notif-badge.show{opacity:1;transform:scale(1)}

.notification-pref-list{
  display:grid;
  gap:0;
  margin:16px 0 6px;
  border-top:1px solid rgba(24,55,45,.1);
}
.notification-pref-list label{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  gap:15px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid rgba(24,55,45,.1);
  cursor:pointer;
  position:relative;
}
.notification-pref-list label>span strong{
  display:block;
  color:#1d392f;
  font-size:11px;
}
.notification-pref-list label>span small{
  display:block;
  color:#81796f;
  font-size:8.5px;
  line-height:1.45;
  margin-top:4px;
}
.notification-pref-list input{
  opacity:0;
  position:absolute;
  pointer-events:none;
}
.notification-pref-list label>i{
  width:38px;height:22px;border-radius:999px;
  background:#d7d2ca;
  display:block;
  position:relative;
  transition:.2s ease;
}
.notification-pref-list label>i:after{
  content:"";
  position:absolute;
  width:16px;height:16px;border-radius:50%;
  background:white;
  left:3px;top:3px;
  box-shadow:0 1px 5px rgba(0,0,0,.18);
  transition:.2s ease;
}
.notification-pref-list input:checked+i{background:#214f40}
.notification-pref-list input:checked+i:after{transform:translateX(16px)}
.notification-message-signoff{
  margin:22px 0 6px;
  padding-top:16px;
  border-top:1px solid rgba(24,55,45,.1);
}
.notification-message-signoff span{
  display:block;
  font-family:'Playfair Display',Georgia,serif;
  color:#18372d;
  font-size:18px;
}
.notification-message-signoff small{
  color:#9b7a39;
  font-size:8px;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

@media(max-width:640px){
  .notifications-page-title{margin-bottom:20px!important}
  .notifications-page-title p{font-size:11px;line-height:1.55}
  .notifications-summary{
    grid-template-columns:44px minmax(0,1fr);
    gap:13px;
    padding:18px 16px;
    border-radius:17px;
  }
  .notifications-summary-mark{width:42px;height:42px;font-size:14px}
  .notifications-summary-copy h3{font-size:20px}
  .notifications-summary-copy p{font-size:10px}
  .notifications-summary-side{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid rgba(181,140,43,.16);
    padding:12px 0 0;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap:6px;
  }
  .notifications-summary-side>strong{font-size:21px}
  .notifications-summary-side>span{margin:0 6px 0 0;font-size:8px}
  .notifications-summary-side button{margin:0 0 0 auto}
  .notification-card{
    grid-template-columns:36px minmax(0,1fr) 16px;
    gap:11px;
    padding:15px 1px;
  }
  .notification-card-icon{width:33px;height:33px}
  .notification-card-copy>strong{font-size:11px}
  .notification-card-copy p{font-size:9px;line-height:1.45}
  .notification-card-action{grid-template-columns:6px 10px;padding-left:0;gap:5px}
  .notification-card-action small{display:none}
  .notifications-section-head{padding-top:23px}
}

/* V36.1 — Notificações: acabamento editorial / private experience */
.notifications-view{
  max-width:1000px!important;
}
.notifications-page-title{
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:34px;
  align-items:end;
  padding-bottom:22px;
  margin-bottom:18px!important;
  border-bottom:1px solid rgba(24,55,45,.10);
}
.notifications-title-copy{max-width:690px}
.notifications-page-title h2{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(34px,4.1vw,52px)!important;
  line-height:1.02!important;
  color:#17382d!important;
  font-weight:600!important;
  letter-spacing:-.7px;
}
.notifications-page-title p{
  max-width:590px!important;
  font-size:12px!important;
  line-height:1.7!important;
  color:#766f66!important;
}
.notifications-title-signature{
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  gap:8px;
  opacity:.96;
}
.notifications-title-signature img{
  width:50px;
  height:50px;
  object-fit:contain;
  opacity:1;
  padding:11px;
  border-radius:50%;
  background:linear-gradient(145deg,#13221d,#223630);
  border:1px solid rgba(199,148,36,.22);
  box-shadow:0 12px 24px rgba(20,17,13,.08);
}
.notifications-title-signature span{
  color:#a37d31;
  font-size:7px;
  font-weight:800;
  letter-spacing:2.1px;
  white-space:nowrap;
}
.notifications-summary{
  grid-template-columns:52px minmax(0,1fr) auto!important;
  padding:21px 24px!important;
  border-radius:16px!important;
  background:linear-gradient(110deg,rgba(255,253,248,.98),rgba(248,241,227,.92))!important;
  border:1px solid rgba(181,140,43,.22)!important;
  box-shadow:0 18px 42px rgba(36,29,18,.045)!important;
}
.notifications-summary:before{
  content:"";
  position:absolute;
  left:0;top:18px;bottom:18px;
  width:2px;
  border-radius:3px;
  background:linear-gradient(#d7bb78,#9d7629);
}
.notifications-summary-mark{
  width:42px!important;height:42px!important;
  font-size:13px!important;
  background:#fffaf1!important;
  box-shadow:inset 0 0 0 4px rgba(181,140,43,.035);
}
.notifications-summary-copy h3{
  font-size:23px!important;
  margin-top:4px!important;
}
.notifications-summary-copy p{font-size:10.5px!important}
.notifications-summary-side{
  min-width:126px!important;
}
.notifications-summary-side>strong{
  font-size:29px!important;
}
.notifications-summary-side button{
  border-bottom:1px solid rgba(155,118,40,.25)!important;
  padding-bottom:3px!important;
}
.notifications-section-head{
  margin-top:3px;
  padding-top:30px!important;
  border-bottom:0!important;
}
.notifications-section-head strong{
  font-family:'Playfair Display',Georgia,serif;
  font-size:17px!important;
  font-weight:600;
}
.notifications-section-head>span{
  border:1px solid rgba(181,140,43,.18);
  background:#fbf7ef;
  border-radius:999px;
  padding:5px 9px;
  font-size:7.5px!important;
  letter-spacing:.3px;
}
.notifications-feed{
  gap:9px!important;
}
.notification-card{
  border:1px solid rgba(24,55,45,.085)!important;
  border-radius:14px!important;
  padding:16px 17px!important;
  background:rgba(255,255,255,.50)!important;
  box-shadow:0 8px 26px rgba(26,34,29,.025);
  overflow:hidden;
}
.notification-card:hover{
  background:#fffdf8!important;
  border-color:rgba(181,140,43,.25)!important;
}
.notification-card.message{
  background:linear-gradient(112deg,#18382e 0%,#21483b 100%)!important;
  border-color:#18382e!important;
  box-shadow:0 16px 34px rgba(16,45,35,.12);
}
.notification-card.message:after{
  content:"MOMENT PRO";
  position:absolute;
  right:70px;
  bottom:-5px;
  color:rgba(227,205,151,.06);
  font-family:'Playfair Display',Georgia,serif;
  font-size:34px;
  letter-spacing:2px;
  pointer-events:none;
}
.notification-card.message .notification-card-icon{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(224,196,129,.28)!important;
  color:#e0c481!important;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.018);
}
.notification-card.message .notification-card-copy>small{color:#d4b66d!important}
.notification-card.message .notification-card-copy>strong{color:#fff9eb!important;font-family:'Playfair Display',Georgia,serif;font-size:14px!important;font-weight:600}
.notification-card.message .notification-card-copy p{color:rgba(255,255,255,.68)!important}
.notification-card.message .notification-card-action small{color:#d7bd7b!important}
.notification-card.message .notification-card-action b{color:#d7bd7b!important}
.notification-card.message .notification-card-action i{background:#e0c481!important;box-shadow:0 0 0 4px rgba(224,196,129,.09)}
.notification-card.reminder,
.notification-card.important,
.notification-card.success{
  padding-left:19px!important;
}
.notification-card.reminder:before,
.notification-card.important:before,
.notification-card.success:before{
  content:"";
  position:absolute;
  left:0;top:13px;bottom:13px;
  width:2px;
  border-radius:2px;
  background:rgba(181,140,43,.45);
}
.notification-card.success:before{background:rgba(46,106,79,.46)}
.notification-card-icon{
  width:34px!important;height:34px!important;
  font-size:11px!important;
}
.notification-card-copy>small{
  font-size:7px!important;
  letter-spacing:1.8px!important;
}
.notification-card-copy>strong{
  font-size:11.5px!important;
  letter-spacing:.05px;
}
.notification-card-copy p{
  font-size:9.5px!important;
  max-width:690px!important;
}
.notification-card-action{
  min-width:72px;
  justify-content:end;
}
.notification-prefs-row{
  margin-top:25px!important;
  border:1px solid rgba(24,55,45,.09)!important;
  border-radius:13px!important;
  padding:13px 15px!important;
  background:#faf7f1!important;
}
.notification-prefs-row:hover{border-color:rgba(181,140,43,.24)!important;background:#fffaf1!important}
.notification-prefs-icon{background:#fff;border-color:rgba(181,140,43,.25)!important}

@media (max-width:720px){
  .notifications-page-title{
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
  }
  .notifications-title-signature{
    display:none!important;
  }
  .notifications-page-title h2{font-size:36px!important}
  .notifications-summary{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:12px!important;
    padding:18px 16px!important;
  }
  .notifications-summary-side{
    grid-column:1/-1;
    min-width:0!important;
    border-left:0!important;
    border-top:1px solid rgba(181,140,43,.14);
    padding:11px 0 0!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-start!important;
    gap:7px;
  }
  .notifications-summary-side>strong{font-size:22px!important}
  .notifications-summary-side>span{margin:0!important}
  .notifications-summary-side button{margin:0 0 0 auto!important}
  .notification-card{
    grid-template-columns:34px minmax(0,1fr) 18px!important;
    gap:10px!important;
    padding:14px 12px!important;
  }
  .notification-card-action{
    min-width:0!important;
    grid-template-columns:6px 12px!important;
    gap:5px!important;
    padding-left:0!important;
  }
  .notification-card-action small{display:none!important}
  .notification-card.message:after{display:none}
  .notification-card-copy p{font-size:9px!important}
  .notifications-section-head strong{font-size:15px!important}
}


/* V37 — Home sem Documentos + Documentos apenas no Perfil */
@media (min-width: 900px){
  .view[data-view="home"] .home-grid.home-grid-five{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  .view[data-view="home"] .home-grid.home-grid-five>button{grid-column:span 2!important}
  .view[data-view="home"] .home-grid.home-grid-five>button:nth-child(4),
  .view[data-view="home"] .home-grid.home-grid-five>button:nth-child(5){grid-column:span 3!important}
}
@media (max-width:899px){
  .home-grid.home-grid-five{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-grid.home-grid-five>button:nth-child(5){grid-column:1 / -1!important}
}

.documents-private-view{max-width:920px!important;margin:0 auto!important}
.documents-page-title{margin-bottom:20px!important}
.documents-page-title h2{font-family:Georgia,serif!important;font-weight:500!important;color:#20372f!important}
.documents-page-title p{max-width:620px!important}
.documents-private-intro{
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;
  padding:22px 24px;margin:14px 0 12px;
  border-top:1px solid rgba(185,151,100,.34);border-bottom:1px solid rgba(185,151,100,.24);
  background:linear-gradient(115deg,rgba(250,246,239,.86),rgba(255,253,249,.72));
}
.documents-private-seal{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#13221d,#223630);border:1px solid rgba(199,148,36,.24);
  box-shadow:0 12px 25px rgba(24,35,29,.08)
}
.documents-private-seal img{width:31px;height:31px;object-fit:contain}
.documents-private-intro small{display:block;margin-bottom:5px;color:#a57c39;font-size:7.5px;font-weight:800;letter-spacing:.2em}
.documents-private-intro h3{margin:0 0 5px;font-family:Georgia,serif;font-size:22px;font-weight:500;color:#24352f}
.documents-private-intro p{margin:0;max-width:600px;font-size:10.5px;line-height:1.6;color:#776e64}
.documents-private-list{border-top:1px solid rgba(183,153,111,.22)}
.document-private-row{
  display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:21px 4px;border-bottom:1px solid rgba(183,153,111,.2)
}
.document-private-icon{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:#f5eee3;color:#8e6d35;font-size:10px;font-weight:800;letter-spacing:.05em
}
.document-plan-row .document-private-icon{background:#eaf0ed;color:#315548}
.document-private-copy small{display:block;margin-bottom:5px;color:#a17e4b;font-size:7px;font-weight:800;letter-spacing:.17em}
.document-private-copy strong{display:block;font-family:Georgia,serif;font-size:16px;font-weight:500;color:#25362f}
.document-private-copy p{margin:5px 0 0;max-width:560px;font-size:9.5px;line-height:1.55;color:#7b746b}
.document-private-status{
  white-space:nowrap;padding:7px 10px;border-radius:999px;font-size:7.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase
}
.document-private-status.empty{background:#f2eee8;color:#8a8176}
.document-private-status.waiting{background:#f7efe1;color:#98733b}
.document-private-status.done{background:#e5efe9;color:#315847}
.documents-private-note{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:13px 0;color:#81796e}
.documents-private-note>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(173,139,89,.36);font-family:Georgia,serif;color:#9a7339;font-size:10px}
.documents-private-note p{margin:2px 0 0;font-size:9px;line-height:1.55}
@media (max-width:640px){
  .documents-private-intro{grid-template-columns:1fr;padding:20px 18px;gap:12px}
  .documents-private-seal{width:50px;height:50px}
  .documents-private-intro h3{font-size:20px}
  .document-private-row{grid-template-columns:40px 1fr;gap:12px;padding:18px 0}
  .document-private-status{grid-column:2;margin-top:-4px;justify-self:start}
}


/* V38 — entrada final da Área dos Noivos */
.auth-panel{display:none;width:min(100%,420px);margin:0 auto;text-align:center}
.auth-panel.active{display:block;animation:loginRise .35s ease both}
.auth-kicker{display:block;margin:0 0 10px;color:#a37d31;font-size:8px;font-weight:800;letter-spacing:2.7px;text-transform:uppercase}
.auth-panel h1{margin-bottom:6px!important}
.auth-panel>p{margin:0 0 13px;font-size:12px;color:#82796f}
.auth-panel .login-editorial-note{margin-bottom:16px}
.auth-panel .primary{width:100%;margin-top:12px}
.auth-links{display:flex;align-items:center;justify-content:center;gap:12px;margin:15px 0 0}
.auth-links button,.auth-back{border:0;background:none;padding:6px 0;color:#5e675f;font-size:9px;font-weight:700;letter-spacing:.02em;cursor:pointer}
.auth-links button:hover,.auth-back:hover{color:#a37d31}
.auth-links span{width:1px;height:13px;background:#ded3c4}
.auth-private-note{margin:18px 0 0;padding:13px 15px;border-top:1px solid rgba(183,153,102,.20);border-bottom:1px solid rgba(183,153,102,.20);display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;text-align:left}
.auth-private-note>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1c342c;color:#d5b979;font-size:9px}
.auth-private-note p{margin:0;font-size:8.5px!important;line-height:1.55;color:#857d73!important}
.auth-private-note strong{color:#405047;font-size:9px}
.auth-message{display:none;margin:9px 0 0;padding:9px 11px;border-radius:9px;font-size:9px;line-height:1.45;text-align:left}
.auth-message.visible{display:block}
.auth-message.error{background:#fbefed;border:1px solid #ead4d0;color:#8d4c43}
.auth-message.success{background:#eef4ef;border:1px solid #d6e4d9;color:#3b5a48}
.auth-back{display:block;margin:12px auto 0;color:#7d756c}
.password-rule{display:block;margin:7px 2px 0;text-align:left;color:#9b8f81;font-size:8px}
.login-content>.login-footer{margin-top:17px}
@media(min-width:900px){
  .auth-panel{width:min(100%,430px)}
  .auth-panel h1{font-size:43px!important}
  .auth-panel>p{font-size:13px}
  .auth-links button,.auth-back{font-size:10px}
}
@media(max-width:520px){
  .login-content{padding-bottom:22px!important}
  .auth-links{gap:9px}
  .auth-links button{font-size:8.5px}
  .auth-private-note{margin-top:14px}
}

/* V40.38 — Contactos dos noivos: sheet confortável em mobile */
.sheet-panel.contacts-sheet{
  width:min(520px,calc(100vw - 92px))!important;
  max-height:82vh!important;
  border-radius:28px!important;
  bottom:24px!important;
  padding:12px 18px calc(20px + env(safe-area-inset-bottom))!important;
}
.sheet-panel.contacts-sheet .sheet-head{margin-bottom:10px!important}
.sheet-panel.contacts-sheet .sheet-head h3{font-size:24px!important;line-height:1.05!important;margin:4px 0 5px!important}
.sheet-panel.contacts-sheet .sheet-head p{font-size:10px!important;max-width:380px}
.sheet-panel.contacts-sheet .contacts-sheet-body{display:grid;gap:0;min-height:0}
.sheet-panel.contacts-sheet .field{margin-top:8px!important}
.sheet-panel.contacts-sheet .field input{padding:11px 12px!important}
.sheet-panel.contacts-sheet .sheet-actions{
  position:sticky!important;
  bottom:calc(-20px - env(safe-area-inset-bottom))!important;
  margin-top:12px!important;
  padding:12px 0 calc(2px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(251,248,242,0),rgba(251,248,242,.96) 26%,rgba(251,248,242,1))!important;
}
.sheet-panel.contacts-sheet .sheet-actions button{padding:11px 12px!important}

@media(max-width:700px){
  .sheet-panel.contacts-sheet{
    left:50%!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    width:min(92vw,430px)!important;
    max-height:min(78vh,660px)!important;
    border-radius:26px 26px 0 0!important;
    padding:10px 14px calc(14px + env(safe-area-inset-bottom))!important;
  }
  .sheet-panel.contacts-sheet .sheet-head{margin-bottom:8px!important}
  .sheet-panel.contacts-sheet .sheet-head small{font-size:7px!important;letter-spacing:.16em!important}
  .sheet-panel.contacts-sheet .sheet-head h3{font-size:20px!important;line-height:1.02!important;margin:3px 0 4px!important}
  .sheet-panel.contacts-sheet .sheet-head p{font-size:9px!important;line-height:1.45!important}
  .sheet-panel.contacts-sheet .contacts-sheet-body{
    max-height:calc(min(78vh,660px) - 186px)!important;
    overflow:auto!important;
    padding-right:2px!important;
  }
  .sheet-panel.contacts-sheet .field{margin-top:7px!important}
  .sheet-panel.contacts-sheet .field label{font-size:7px!important;margin-bottom:4px!important}
  .sheet-panel.contacts-sheet .field input{
    padding:10px 11px!important;
    border-radius:11px!important;
    font-size:16px!important;
  }
  .sheet-panel.contacts-sheet .sheet-actions{
    bottom:calc(-14px - env(safe-area-inset-bottom))!important;
    gap:8px!important;
    margin-top:10px!important;
    padding:10px 0 calc(2px + env(safe-area-inset-bottom))!important;
  }
  .sheet-panel.contacts-sheet .sheet-actions button{padding:11px 12px!important}
}

/* V40.39 — Planeamento de horas: sheet confortável em mobile */
.sheet-panel.schedule-sheet{
  width:min(560px,calc(100vw - 86px))!important;
  max-height:84vh!important;
  border-radius:28px!important;
  bottom:22px!important;
  padding:12px 18px calc(20px + env(safe-area-inset-bottom))!important;
}
.sheet-panel.schedule-sheet .sheet-head{margin-bottom:10px!important}
.sheet-panel.schedule-sheet .sheet-head h3{font-size:24px!important;line-height:1.02!important;margin:4px 0 5px!important}
.sheet-panel.schedule-sheet .sheet-head p{font-size:10px!important;max-width:400px}
.sheet-panel.schedule-sheet .schedule-sheet-body{display:grid;gap:0;min-height:0;overflow:auto!important;padding-right:4px!important}
.sheet-panel.schedule-sheet .field{margin-top:8px!important}
.sheet-panel.schedule-sheet .field input{padding:11px 12px!important}
.sheet-panel.schedule-sheet .schedule-essential-field{margin-top:9px!important;padding:12px 12px 9px!important;border-radius:15px!important}
.sheet-panel.schedule-sheet .schedule-essential-field>small{font-size:8.5px!important}
.sheet-panel.schedule-sheet .schedule-clear-row{margin:10px 2px 2px!important;padding-top:10px!important}
.sheet-panel.schedule-sheet .sheet-actions{
  position:sticky!important;
  bottom:calc(-20px - env(safe-area-inset-bottom))!important;
  margin-top:12px!important;
  padding:12px 0 calc(2px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,rgba(251,248,242,0),rgba(251,248,242,.96) 26%,rgba(251,248,242,1))!important;
}
.sheet-panel.schedule-sheet .sheet-actions button{padding:11px 12px!important}

@media(max-width:700px){
  .sheet-panel.schedule-sheet{
    left:50%!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    width:min(92vw,430px)!important;
    max-height:min(82vh,700px)!important;
    border-radius:26px 26px 0 0!important;
    padding:10px 14px calc(14px + env(safe-area-inset-bottom))!important;
  }
  .sheet-panel.schedule-sheet .sheet-head{margin-bottom:8px!important}
  .sheet-panel.schedule-sheet .sheet-head small{font-size:7px!important;letter-spacing:.16em!important}
  .sheet-panel.schedule-sheet .sheet-head h3{font-size:19px!important;line-height:1.03!important;margin:3px 0 4px!important;max-width:260px!important}
  .sheet-panel.schedule-sheet .sheet-head p{font-size:9px!important;line-height:1.42!important}
  .sheet-panel.schedule-sheet .schedule-sheet-body{
    max-height:calc(min(82vh,700px) - 176px)!important;
    overflow:auto!important;
    padding-right:2px!important;
  }
  .sheet-panel.schedule-sheet .field{margin-top:7px!important}
  .sheet-panel.schedule-sheet .field label{font-size:7px!important;margin-bottom:4px!important}
  .sheet-panel.schedule-sheet .field input{
    padding:10px 11px!important;
    border-radius:11px!important;
    font-size:16px!important;
  }
  .sheet-panel.schedule-sheet .schedule-essential-field{
    margin-top:8px!important;
    padding:10px 10px 8px!important;
    border-radius:14px!important;
  }
  .sheet-panel.schedule-sheet .schedule-essential-field>small{
    font-size:8px!important;
    line-height:1.42!important;
  }
  .sheet-panel.schedule-sheet .schedule-clear-row{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:6px!important;
    margin-top:9px!important;
    padding-top:9px!important;
  }
  .sheet-panel.schedule-sheet .schedule-clear-row button{font-size:8px!important}
  .sheet-panel.schedule-sheet .schedule-clear-row span{font-size:8px!important;line-height:1.42!important;text-align:left!important}
  .sheet-panel.schedule-sheet .sheet-actions{
    bottom:calc(-14px - env(safe-area-inset-bottom))!important;
    gap:8px!important;
    margin-top:10px!important;
    padding:10px 0 calc(2px + env(safe-area-inset-bottom))!important;
  }
  .sheet-panel.schedule-sheet .sheet-actions button{padding:11px 12px!important}
}

/* =========================================================
   V40.40 — padrão global de painéis mobile mais compacto
   ========================================================= */
@media(max-width:700px){
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet){
    left:50%!important;
    bottom:calc(18px + env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
    width:340px!important;
    max-width:calc(100vw - 38px)!important;
    max-height:calc(100dvh - 92px)!important;
    border-radius:20px!important;
    padding:9px 12px 12px!important;
    box-shadow:0 16px 38px rgba(26,22,18,.14)!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-handle{
    display:none!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-head{
    margin-bottom:8px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-head small{
    font-size:6.5px!important;
    letter-spacing:.17em!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-head h3{
    font-size:20px!important;
    line-height:1.05!important;
    margin:3px 0 3px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-head p{
    font-size:9px!important;
    line-height:1.45!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-list{
    border-radius:12px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-list button{
    padding:10px!important;
    gap:7px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-list strong{
    font-size:10px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-list small{
    font-size:8px!important;
    line-height:1.35!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-list em{
    font-size:6.5px!important;
    padding:4px 6px!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .field{
    margin-top:7px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .field label{
    font-size:6.5px!important;
    margin-bottom:4px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .field input,
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .field textarea{
    font-size:16px!important;
    padding:9px 10px!important;
    border-radius:10px!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-actions{
    margin-top:9px!important;
    gap:7px!important;
  }
  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .sheet-actions button{
    min-height:36px!important;
    padding:7px 9px!important;
    border-radius:10px!important;
    font-size:13px!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .optional-note{
    padding:8px 9px!important;
    margin-bottom:8px!important;
    border-radius:11px!important;
    font-size:8.5px!important;
  }

  .sheet-panel:not(.compact-field-sheet):not(.contacts-sheet):not(.schedule-sheet):not(.layout-sheet) .music-sheet-list button{
    min-height:0!important;
  }
}

/* =========================================================
   V40.41 — DETALHES DO DIA · MOBILE SEM CORTES
   ========================================================= */
@media(max-width:720px){
  .details-view,
  .details-view.active,
  .details-masthead,
  .details-ledger,
  .detail-editorial-row,
  .detail-row-copy,
  .detail-row-visual,
  .detail-row-action,
  .details-footnote-editorial{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .details-view.active{
    width:100%!important;
    overflow-x:hidden!important;
  }

  .details-masthead{
    width:100%!important;
    overflow:hidden!important;
  }
  .details-masthead-copy,
  .details-masthead-photo{
    min-width:0!important;
    width:100%!important;
  }
  .details-masthead-photo img{
    width:100%!important;
    max-width:100%!important;
  }
  .details-couple-signature strong,
  .details-couple-signature span,
  .details-masthead-copy p,
  .details-masthead-copy h3{
    overflow-wrap:anywhere!important;
  }

  .details-legend{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  /* Duas colunas seguras: índice + conteúdo. O estado deixa de roubar largura ao texto. */
  .detail-editorial-row{
    width:100%!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    grid-template-areas:
      'idx copy'
      'idx action'
      'idx visual'!important;
    column-gap:10px!important;
    row-gap:7px!important;
    padding:14px 0!important;
    overflow:hidden!important;
  }
  .detail-index{
    grid-area:idx!important;
    min-width:0!important;
    padding-right:8px!important;
  }
  .detail-row-copy{
    grid-area:copy!important;
    padding-right:2px!important;
    overflow:hidden!important;
  }
  .detail-row-copy small,
  .detail-row-copy strong,
  .detail-row-copy p{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .detail-row-action{
    grid-area:action!important;
    width:100%!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0!important;
  }
  .detail-row-action .details-status{
    max-width:calc(100% - 34px)!important;
    min-width:0!important;
    white-space:normal!important;
    line-height:1.15!important;
    text-align:left!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }
  .detail-row-action>b{
    flex:0 0 26px!important;
  }
  .detail-row-visual{
    grid-area:visual!important;
    width:100%!important;
    min-width:0!important;
    margin-top:1px!important;
    overflow:hidden!important;
  }

  .details-layout-visual,
  .panda-inline-mark,
  .photo-slot-preview,
  .video-inline-mark{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .details-layout-visual{
    height:78px!important;
  }
  .layout-mini-swatches{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    padding:7px!important;
    gap:6px!important;
  }
  .layout-mini-swatches i{
    min-width:0!important;
    height:54px!important;
  }

  .panda-inline-mark{
    grid-template-columns:auto auto minmax(0,1fr)!important;
    column-gap:7px!important;
    padding-right:0!important;
  }
  .panda-inline-mark em{
    min-width:0!important;
    max-width:100%!important;
    text-align:right!important;
    white-space:normal!important;
  }

  .photo-slot-preview{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .photo-slot-preview span{
    min-width:0!important;
    width:100%!important;
    height:48px!important;
    overflow:hidden!important;
  }
  .photo-slot-preview span img{
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }

  .video-inline-mark{
    height:auto!important;
    min-height:50px!important;
    padding:6px 0!important;
    gap:10px!important;
  }
  .video-inline-mark>div{
    min-width:0!important;
  }
  .video-inline-mark strong,
  .video-inline-mark small{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  .details-footnote-editorial{
    width:100%!important;
    align-items:flex-start!important;
    padding-right:2px!important;
  }
  .details-footnote-editorial p{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}

@media(max-width:430px){
  .detail-editorial-row{
    grid-template-columns:34px minmax(0,1fr)!important;
    column-gap:8px!important;
  }
  .detail-index span{font-size:16px!important}
  .detail-row-copy strong{font-size:15px!important}
  .detail-row-copy p{font-size:7.2px!important;line-height:1.48!important}
  .details-status{font-size:5.3px!important}
  .photo-slot-preview{gap:4px!important}
  .photo-slot-preview span{height:45px!important}
}

/* V40.42 — CTA final em Detalhes do dia */
.details-review-cta{
  margin:22px 0 2px;
  padding:20px 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  border:1px solid rgba(181,140,43,.28);
  border-radius:22px;
  background:linear-gradient(135deg,#17372d 0%,#203f35 100%);
  box-shadow:0 18px 40px rgba(23,55,45,.12);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.details-review-cta:after{
  content:'';
  position:absolute;
  width:180px;
  height:180px;
  right:-72px;
  top:-92px;
  border:1px solid rgba(222,190,116,.14);
  border-radius:50%;
  pointer-events:none;
}
.details-review-cta-copy{position:relative;z-index:1;min-width:0}
.details-review-cta-copy small{
  display:block;
  margin-bottom:6px;
  color:#d9b96f;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.2em;
}
.details-review-cta-copy strong{
  display:block;
  font:600 24px/1.08 Georgia,serif;
  letter-spacing:-.02em;
  color:#fff;
}
.details-review-cta-copy p{
  max-width:650px;
  margin:7px 0 0;
  color:rgba(255,255,255,.68);
  font-size:10px;
  line-height:1.55;
}
.details-review-cta-button{
  position:relative;
  z-index:1;
  min-width:220px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px solid rgba(223,190,111,.62);
  border-radius:14px;
  background:#f6e2aa;
  color:#18372d;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(0,0,0,.08);
  transition:transform .18s ease,box-shadow .18s ease;
}
.details-review-cta-button span{font-size:16px;font-weight:400;line-height:1}
.details-review-cta-button:hover{transform:translateY(-1px);box-shadow:0 15px 28px rgba(0,0,0,.12)}

@media(max-width:700px){
  .details-review-cta{
    margin-top:14px;
    padding:17px 15px 15px;
    grid-template-columns:1fr;
    gap:14px;
    border-radius:19px;
  }
  .details-review-cta-copy strong{font-size:20px}
  .details-review-cta-copy p{font-size:9px;line-height:1.5}
  .details-review-cta-button{
    width:100%;
    min-width:0;
    height:44px;
    border-radius:13px;
  }
}

/* V40.45 — ação final também visível na Home */
.home-review-cta{
  width:100%;
  margin-top:12px;
  border:1px solid rgba(197,160,88,.28);
  border-radius:16px;
  padding:13px 14px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 18px;
  gap:11px;
  align-items:center;
  text-align:left;
  background:linear-gradient(135deg,#153329,#21493b);
  color:#fff;
  box-shadow:0 12px 26px rgba(20,48,39,.14);
  cursor:pointer;
}
.home-review-cta>span{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:#e1bf72;color:#17372d;font-size:14px;font-weight:800;
}
.home-review-cta>div{display:flex;flex-direction:column;min-width:0;align-items:flex-start}
.home-review-cta small{font-size:7px!important;letter-spacing:.16em!important;color:#ddbf79!important;font-weight:800}
.home-review-cta strong{margin-top:2px;font-size:12px!important;line-height:1.2;color:#fff!important}
.home-review-cta em{margin-top:3px;font-style:normal;font-size:8.5px;line-height:1.35;color:rgba(255,255,255,.68)}
.home-review-cta>b{font-size:19px;font-weight:400;color:#e1bf72}
.home-review-cta.is-ready{background:linear-gradient(135deg,#14352b,#285744)}
.home-review-cta.is-missing>span{background:#f3dca7;color:#7f5b1f}
.home-review-cta.is-sent{background:linear-gradient(135deg,#24483b,#315c46)}
.home-review-cta:hover{transform:translateY(-1px)}
@media(max-width:620px){
  .home-review-cta{padding:12px 13px;grid-template-columns:36px minmax(0,1fr) 16px;gap:9px;border-radius:15px}
  .home-review-cta>span{width:32px;height:32px;font-size:13px}
  .home-review-cta strong{font-size:11.5px!important}
  .home-review-cta em{font-size:8px}
}


/* V40.46 — Home mobile: alinhamento do lettering/assinatura final */
@media(max-width:620px){
  .view[data-view="home"] .signature,
  .view[data-view="home"] .home-luxe-note,
  .view[data-view="home"] .home-divider{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
    justify-self:stretch!important;
    text-align:center!important;
  }

  .view[data-view="home"] .signature{
    padding:0 12px!important;
  }

  .view[data-view="home"] .home-luxe-note{
    display:block!important;
    padding:0 14px!important;
    line-height:1.45!important;
    letter-spacing:.075em!important;
  }

  .view[data-view="home"] .home-divider{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:0 14px!important;
  }

  .view[data-view="home"] .home-divider span{
    flex:0 0 auto!important;
    text-align:center!important;
    white-space:nowrap!important;
  }

  .view[data-view="home"] .home-divider:before,
  .view[data-view="home"] .home-divider:after{
    min-width:0!important;
  }

  .view[data-view="home"] .home-brand-seal{
    margin:14px auto 0!important;
  }
}

/* V40.47 — planeamento fechado após envio + alterações de última hora */
.review-send-actions{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.review-change-btn{
  min-width:190px;
  height:46px;
  border:1px solid rgba(173,127,57,.34);
  border-radius:14px;
  background:#fffaf2;
  color:#775927;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.035em;
  cursor:pointer;
}
.review-change-btn:hover{background:#f8eedf;border-color:rgba(173,127,57,.52)}
.review-change-btn[hidden]{display:none!important}

.locked-planning-note,
.last-minute-deadline,
.last-minute-success{
  margin-top:12px;
  border:1px solid rgba(188,158,111,.34);
  border-radius:16px;
  background:linear-gradient(180deg,#fffdf9,#f8f1e7);
  padding:14px 15px;
}
.locked-planning-note strong,
.last-minute-deadline strong,
.last-minute-success strong{
  display:block;
  font-family:Georgia,serif;
  color:#1d332b;
}
.locked-planning-note strong{font-size:16px}
.locked-planning-note p,
.last-minute-deadline p,
.last-minute-success p{
  margin:6px 0 0;
  color:#746b61;
  font-size:9.5px;
  line-height:1.55;
}
.last-minute-deadline small{
  display:block;
  margin-bottom:5px;
  font-size:7px;
  font-weight:800;
  letter-spacing:.18em;
  color:#a1793d;
}
.last-minute-deadline strong{font-size:21px}
.last-minute-deadline.expired{
  border-color:rgba(154,105,55,.28);
  background:linear-gradient(180deg,#fffaf5,#f4ece2);
}
.last-minute-deadline.test-bypass{
  border-style:dashed;
}
.last-minute-success{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  align-items:start;
}
.last-minute-success>span{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:#17372d;color:#e6c56e;font-weight:800;
}
.last-minute-success strong{font-size:15px}

@media(max-width:760px){
  .review-send-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px}
  .review-send-actions .review-send-btn,
  .review-send-actions .review-change-btn{width:100%;min-width:0}
  .locked-planning-note,.last-minute-deadline,.last-minute-success{padding:12px 13px;border-radius:14px}
  .last-minute-deadline strong{font-size:19px}
}
\n\n/* V40.48 — fechar modal + arquivo de alterações */\n.sheet-x-close{\n  position:absolute;right:14px;top:12px;z-index:8;width:30px;height:30px;border:1px solid rgba(179,151,107,.32);border-radius:50%;background:rgba(255,253,249,.94);color:#6f6253;font:400 20px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 14px rgba(25,19,13,.06)\n}\n.sheet-x-close:hover{background:#fff;color:#173126;border-color:rgba(23,49,38,.28)}\n.document-change-row .document-private-icon{background:#f8efe0;color:#9a7336}\n.document-change-row.has-requests:hover{background:rgba(246,239,228,.5)}\n.change-request-doc-list{display:grid;gap:10px;max-height:48vh;overflow:auto;padding:2px 1px}\n.change-request-doc-item{border:1px solid rgba(205,188,164,.62);border-radius:14px;background:#fffdf9;padding:12px 13px}\n.change-request-doc-item>div{display:flex;align-items:center;justify-content:space-between;gap:12px}\n.change-request-doc-item small{font-size:7px;letter-spacing:.16em;color:#a17c42;font-weight:800}\n.change-request-doc-item strong{font-size:9px;color:#6d665e;font-weight:700}\n.change-request-doc-item p{margin:9px 0 8px;font-size:11px;line-height:1.55;color:#2c332f;white-space:pre-wrap}\n.change-request-doc-item span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e8f0eb;color:#315b49;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}\n.last-minute-mail-ok{margin-top:5px!important;color:#315b49!important;font-weight:700}\n.last-minute-mail-warning{margin-top:5px!important;color:#9a6c2c!important;font-weight:700}\n@media(max-width:620px){.sheet-x-close{right:10px;top:9px;width:28px;height:28px;font-size:18px}.change-request-doc-list{max-height:44vh}}\n
/* V40.49 — contexto/origem nos pedidos de alteração */
.last-minute-context-card{
  margin:8px 0 10px;
  padding:11px 13px;
  border:1px solid rgba(61,102,82,.20);
  border-radius:13px;
  background:#eef4f0;
  color:#29493b;
}
.last-minute-context-card small{
  display:block;
  margin-bottom:4px;
  font-size:7px;
  font-weight:800;
  letter-spacing:.16em;
  color:#8d7034;
}
.last-minute-context-card strong{
  display:block;
  font-size:12px;
  line-height:1.4;
}
.change-request-context{
  margin:9px 0 3px;
  padding:8px 10px;
  border-radius:10px;
  background:#eef4f0;
  color:#355244;
  font-size:9px;
  line-height:1.45;
}
.change-request-context b{display:block;font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:#9a7840;margin-bottom:2px}
@media(max-width:620px){
  .last-minute-context-card{padding:9px 11px;margin:7px 0 9px}
  .last-minute-context-card strong{font-size:11px}
}


/* V40.50 — navegação inferior sempre visível no mobile */
@media(max-width:699px){
  .bottom-nav{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    width:min(100vw,430px)!important;
    height:calc(64px + env(safe-area-inset-bottom))!important;
    min-height:64px!important;
    padding:0 6px env(safe-area-inset-bottom)!important;
    border-radius:0!important;
    z-index:45!important;
    background:rgba(252,248,242,.96)!important;
    border-top:1px solid rgba(223,213,200,.95)!important;
    box-shadow:0 -8px 24px rgba(25,19,13,.07)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  .bottom-nav button{
    min-width:0!important;
    min-height:56px!important;
    padding:5px 2px 3px!important;
    gap:3px!important;
  }

  .bottom-nav span{
    font-size:17px!important;
    line-height:1!important;
  }

  .bottom-nav button small{
    font-size:8px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  .main-screen{
    padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }

  .view{
    padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  }

  .toast{
    bottom:calc(76px + env(safe-area-inset-bottom))!important;
  }
}


/* V40.51 — navegação inferior mais presente e centrada no desktop */
@media(min-width:700px){
  .bottom-nav{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:18px!important;
    transform:translateX(-50%)!important;
    width:min(560px,calc(100vw - 80px))!important;
    height:68px!important;
    padding:6px 10px!important;
    border:1px solid rgba(223,213,200,.95)!important;
    border-radius:22px!important;
    background:rgba(252,248,242,.96)!important;
    box-shadow:0 16px 40px rgba(25,19,13,.12)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    z-index:45!important;
    overflow:hidden!important;
  }

  .bottom-nav button{
    min-width:0!important;
    min-height:54px!important;
    padding:6px 12px!important;
    gap:4px!important;
    border-radius:15px!important;
    transition:background .2s ease,transform .2s ease,color .2s ease!important;
  }

  .bottom-nav button:hover{
    background:rgba(255,255,255,.72)!important;
  }

  .bottom-nav button.active{
    background:rgba(237,227,206,.52)!important;
  }

  .bottom-nav span{
    font-size:20px!important;
    line-height:1!important;
  }

  .bottom-nav button small{
    font-size:10px!important;
    line-height:1.1!important;
    font-weight:700!important;
    letter-spacing:.01em!important;
  }

  .main-screen{
    padding-bottom:104px!important;
  }

  .toast{
    bottom:96px!important;
  }
}


/* V40.52 — Perfil: terminar sessão mais visível */
.profile-clean-footer{
  margin-top:14px!important;
  padding:14px 16px!important;
  border:1px solid rgba(190,164,123,.24)!important;
  border-radius:14px!important;
  background:rgba(255,252,247,.78)!important;
  color:#8c8277!important;
  font-size:9px!important;
}

.profile-clean-logout{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:9px 15px!important;
  border:1px solid rgba(157,97,93,.34)!important;
  border-radius:999px!important;
  background:#fff9f7!important;
  color:#8c4f4b!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 6px 16px rgba(125,67,61,.05)!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}

.profile-clean-logout:hover{
  background:#fff3f0!important;
  border-color:rgba(140,79,75,.55)!important;
  color:#7f4642!important;
  transform:translateY(-1px)!important;
}

@media(max-width:640px){
  .profile-clean-footer{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:12px!important;
  }

  .profile-clean-footer>span,
  .profile-clean-footer>small{
    text-align:center!important;
  }

  .profile-clean-logout{
    width:100%!important;
    min-height:42px!important;
    border-radius:12px!important;
    font-size:10.5px!important;
  }
}

/* V40.53 — saída segura do teste de primeiro acesso */
.profile-onboarding-exit{
  display:block;
  width:100%;
  margin-top:9px;
  padding:11px 14px;
  border:1px solid rgba(181,140,43,.42);
  border-radius:11px;
  background:transparent;
  color:#7b684d;
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.profile-onboarding-exit:hover{background:rgba(181,140,43,.06)}


/* V40.54 — Perfil: fotografia mais contida */
@media(min-width:700px){
  .view[data-view="profile"] .profile-clean-hero{
    grid-template-columns:190px 1fr!important;
    min-height:190px!important;
  }
  .view[data-view="profile"] .profile-clean-photo{
    min-height:190px!important;
  }
  .view[data-view="profile"] .profile-clean-copy{
    padding:26px 32px!important;
  }
  .view[data-view="profile"] .profile-clean-copy h3{
    font-size:36px!important;
  }
}

@media(max-width:699px){
  .view[data-view="profile"] .profile-clean-photo{
    height:165px!important;
    min-height:165px!important;
  }
  .view[data-view="profile"] .profile-clean-copy{
    padding:17px 16px 16px!important;
  }
  .view[data-view="profile"] .profile-clean-copy h3{
    font-size:27px!important;
  }
}


/* =========================================================
   V40.65 — notificações: nova/lida + leitura premium
   ========================================================= */

/* Só uma mensagem NOVA da Moment Pro fica em verde forte. */
.notification-card.message.is-unread{
  background:linear-gradient(112deg,#15372c 0%,#214c3d 100%)!important;
  border:1px solid #15372c!important;
  border-left:4px solid #dfc06d!important;
  box-shadow:0 17px 38px rgba(16,45,35,.16)!important;
}
.notification-card.message.is-unread .notification-card-action small{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:42px;
  padding:5px 8px;
  border-radius:999px;
  background:#dfc06d;
  color:#15372c!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:1px;
  text-transform:uppercase;
}
.notification-card.message.is-unread .notification-card-action i{
  background:#f2d887!important;
  box-shadow:0 0 0 5px rgba(242,216,135,.12)!important;
}

/* Assim que é lida deixa de parecer uma notificação nova. */
.notification-card.message.is-read{
  background:#fffdf8!important;
  border:1px solid rgba(24,55,45,.11)!important;
  box-shadow:0 8px 24px rgba(26,34,29,.035)!important;
}
.notification-card.message.is-read:after{
  color:rgba(24,55,45,.025)!important;
}
.notification-card.message.is-read .notification-card-icon{
  background:#f6f0e6!important;
  border-color:rgba(181,140,43,.22)!important;
  color:#9a772a!important;
}
.notification-card.message.is-read .notification-card-copy{
  opacity:1!important;
}
.notification-card.message.is-read .notification-card-copy>small{
  color:#a17d38!important;
}
.notification-card.message.is-read .notification-card-copy>strong{
  color:#1e332c!important;
}
.notification-card.message.is-read .notification-card-copy p{
  color:#706a63!important;
}
.notification-card.message.is-read .notification-card-action small{
  color:#91877a!important;
}
.notification-card.message.is-read .notification-card-action b{
  color:#ae9f8a!important;
}

/* “Bem-vindos” é informação fixa, não uma mensagem nova. */
.notification-card.welcome{
  background:linear-gradient(100deg,#fbf8f1,#fffdf9)!important;
  border:1px solid rgba(181,140,43,.14)!important;
}
.notification-card.welcome .notification-card-icon{
  background:#f5ead1!important;
  color:#9b7628!important;
  border-color:rgba(181,140,43,.22)!important;
}
.notification-card.welcome .notification-card-copy{
  opacity:1!important;
}
.notification-card.welcome .notification-card-copy>small{color:#a17d38!important}
.notification-card.welcome .notification-card-copy>strong{color:#1e332c!important}
.notification-card.welcome .notification-card-copy p{color:#706a63!important}
.notification-card.welcome .notification-card-action i{display:none!important}
.notification-card.welcome .notification-card-action small{color:#9a7a3c!important}

/* Janela de leitura: parece uma mensagem, não apenas um aviso. */
.sheet-panel.notification-message-sheet{
  max-width:560px!important;
}
.notification-message-view{
  padding-top:2px;
}
.notification-message-top{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:2px 0 17px;
  border-bottom:1px solid rgba(24,55,45,.09);
}
.notification-message-avatar{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#17372d;
  border:1px solid rgba(224,196,129,.28);
  color:#e0c481;
  font-family:'Playfair Display',Georgia,serif;
  font-size:14px;
}
.notification-message-top div{
  min-width:0;
}
.notification-message-top div small{
  display:block;
  color:#a47d2a;
  font-size:7px;
  font-weight:900;
  letter-spacing:1.8px;
}
.notification-message-top div strong{
  display:block;
  margin-top:3px;
  color:#1d332c;
  font-size:12px;
}
.notification-message-top time{
  color:#8a8379;
  font-size:8px;
  white-space:nowrap;
}
.notification-message-paper{
  margin:18px 0 4px;
  padding:24px 24px 21px;
  border:1px solid rgba(181,140,43,.19);
  border-radius:16px;
  background:linear-gradient(145deg,#fffdf9 0%,#faf5eb 100%);
  box-shadow:0 13px 35px rgba(31,43,36,.055);
}
.notification-message-paper h3{
  margin:0;
  color:#182f27;
  font-family:'Playfair Display',Georgia,serif;
  font-size:25px;
  line-height:1.12;
  font-weight:650;
}
.notification-message-body{
  margin-top:17px;
  color:#4f4a44;
  font-size:12px;
  line-height:1.72;
}
.notification-message-paper footer{
  margin-top:25px;
  padding-top:17px;
  border-top:1px solid rgba(24,55,45,.085);
}
.notification-message-paper footer span{
  display:block;
  color:#18372d;
  font-family:'Playfair Display',Georgia,serif;
  font-size:16px;
}
.notification-message-paper footer small{
  display:block;
  margin-top:4px;
  color:#ad8427;
  font-size:7px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

@media (max-width:720px){
  .notification-card.message.is-unread{
    border-left-width:3px!important;
  }
  .notification-message-top{
    grid-template-columns:38px minmax(0,1fr);
  }
  .notification-message-top time{
    grid-column:2;
    margin-top:-7px;
  }
  .notification-message-paper{
    padding:20px 18px 18px;
  }
  .notification-message-paper h3{
    font-size:22px;
  }
  .notification-message-body{
    font-size:11px;
  }
}


/* ============================================================
   TESTE 56 · UX SIMPLIFICADA
   Uma entrada principal: Início -> Planeamento -> passos 1 a 6.
   ============================================================ */

.home-planning-entry{
  width:min(1180px,100%);
  margin:18px auto 12px;
}
.home-planning-cta{
  width:100%;
  min-height:108px;
  border:1px solid rgba(167,128,42,.36);
  border-radius:22px;
  background:linear-gradient(135deg,#18372b 0%,#10291f 72%,#0d221a 100%);
  box-shadow:0 18px 42px rgba(19,48,37,.18);
  color:#fff;
  display:grid;
  grid-template-columns:56px 1fr 34px;
  gap:18px;
  align-items:center;
  padding:20px 24px;
  text-align:left;
  cursor:pointer;
}
.home-planning-cta:hover{transform:translateY(-1px)}
.home-planning-cta .home-planning-icon{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(218,182,91,.28);
  color:#d9b65a;font-size:23px;
}
.home-planning-cta div{display:grid;gap:4px}
.home-planning-cta small{
  color:#d9b65a;font-size:9px;font-weight:900;
  letter-spacing:1.8px;text-transform:uppercase;
}
.home-planning-cta strong{
  color:#fff;font:600 25px/1.08 Georgia,"Times New Roman",serif;
}
.home-planning-cta em{
  color:rgba(255,255,255,.72);font-size:12px;font-style:normal;line-height:1.45;
}
.home-planning-cta>b{color:#d9b65a;font-size:26px;text-align:right}
.home-planning-cta.is-ready{
  box-shadow:0 18px 46px rgba(19,48,37,.23),inset 0 0 0 1px rgba(218,182,91,.18);
}
.home-planning-cta.is-sent{
  background:linear-gradient(135deg,#213b31,#162d24);
}

.home-status.home-status-simple{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(130px,190px) 1fr minmax(280px,360px);
  align-items:center;
  gap:15px;
}
.home-status-simple .home-progress-copy{display:grid;gap:3px}
.home-status-simple .home-progress-copy small{
  font-size:8px;font-weight:900;letter-spacing:1.4px;color:#9b7a31
}
.home-status-simple .home-progress-copy strong{font-size:13px}

.planning-flow-guide{
  width:min(1180px,100%);
  margin:-2px auto 16px;
  padding:13px 16px;
  display:flex;align-items:center;gap:12px;
  border:1px solid rgba(181,140,43,.22);
  border-radius:14px;
  background:rgba(255,251,243,.76);
}
.planning-flow-guide>span{
  flex:0 0 32px;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;
  background:#173126;color:#d9b65a;
  font-size:11px;font-weight:900;
}
.planning-flow-guide p{margin:0;color:#746c62;font-size:11px;line-height:1.45}
.planning-flow-guide strong{color:#2c2a26}

@media(max-width:760px){
  .home-planning-entry{margin:14px 0 10px}
  .home-planning-cta{
    min-height:94px;
    grid-template-columns:45px 1fr 22px;
    gap:12px;padding:16px;border-radius:18px;
  }
  .home-planning-cta .home-planning-icon{
    width:44px;height:44px;border-radius:13px;font-size:19px;
  }
  .home-planning-cta strong{font-size:20px}
  .home-planning-cta em{font-size:10px}
  .home-status.home-status-simple{
    grid-template-columns:1fr;
    gap:10px;
  }
  .home-status-simple .progress{width:100%}
  .home-status-simple .home-install-cta{margin-top:2px}
  .planning-flow-guide{margin:0 0 13px;padding:11px 12px}
  .planning-flow-guide p{font-size:10px}
  .bottom-nav button[data-nav="planning"] small{font-size:10px}
}


/* ============================================================
   TESTE 57 · HOME MAIS PESSOAL E EQUILIBRADA
   A página inicial passa a parecer o casamento do casal.
   ============================================================ */

.view[data-view="home"].active{
  display:block!important;
}

.view[data-view="home"] .home-greeting{
  width:min(1180px,100%)!important;
  margin:0 auto 18px!important;
}

.home-dashboard{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);
  gap:20px;
  align-items:stretch;
}

.home-story-card{
  min-width:0;
  border:1px solid rgba(203,180,132,.35);
  border-radius:24px;
  overflow:hidden;
  background:#13231d;
  box-shadow:0 24px 54px rgba(27,34,29,.12);
}

.home-story-media{
  position:relative;
  width:100%;
  height:100%;
  min-height:430px;
  overflow:hidden;
  background:#13231d;
}

.home-story-media>img{
  width:100%;
  height:100%;
  min-height:430px;
  display:block;
  object-fit:cover;
  object-position:center 42%;
  transition:transform .7s ease,filter .4s ease;
}

.home-story-card:not(.has-personal-photo) .home-story-media>img{
  filter:saturate(.88) brightness(.84);
}

.home-story-card.has-personal-photo .home-story-media>img{
  filter:saturate(1.02) contrast(1.01);
}

.home-story-media:after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(10,20,16,.14) 0%,rgba(10,20,16,.01) 42%,rgba(7,14,12,.70) 100%),
    linear-gradient(90deg,rgba(7,14,12,.10),transparent 42%);
}

.home-story-topline{
  position:absolute;
  z-index:3;
  left:20px;
  right:20px;
  top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.home-story-topline>span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(230,199,126,.28);
  border-radius:999px;
  background:rgba(12,27,21,.72);
  backdrop-filter:blur(10px);
  color:#e4c56f;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.55px;
  text-transform:uppercase;
}

.home-photo-action{
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#294037;
  font-size:8px;
  font-weight:900;
  letter-spacing:.45px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.home-story-copy{
  position:absolute;
  z-index:3;
  left:22px;
  right:22px;
  bottom:22px;
  max-width:560px;
  padding:18px 20px;
  border:1px solid rgba(232,202,134,.24);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(12,29,22,.91),rgba(10,20,17,.79));
  backdrop-filter:blur(12px);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  color:#fff;
}

.home-story-copy small{
  display:block;
  margin-bottom:8px;
  color:#dbbd68;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.7px;
}

.home-story-copy strong{
  display:block;
  color:#fff;
  font:600 37px/1.04 Georgia,"Times New Roman",serif;
  letter-spacing:-.02em;
}

.home-story-copy span{
  display:block;
  margin-top:9px;
  color:rgba(255,255,255,.88);
  font-size:12px;
}

.home-dashboard-side{
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:14px;
  align-content:start;
}

.home-dashboard-side .home-planning-entry{
  width:100%;
  margin:0;
}

.home-dashboard-side .home-planning-cta{
  min-height:142px;
  border-radius:22px;
}

.home-dashboard-side .home-status.home-status-simple{
  width:100%;
  margin:0;
  padding:18px;
  border:1px solid rgba(207,187,153,.62);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(249,244,235,.94));
  box-shadow:0 16px 34px rgba(33,27,19,.05);
  display:block;
}

.home-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.home-progress-state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:0 9px;
  border-radius:999px;
  background:#f0ebe3;
  color:#746a5e;
  font-size:7px;
  font-weight:900;
  letter-spacing:.65px;
  text-transform:uppercase;
  white-space:nowrap;
}

.home-progress-state.is-ready{
  background:#fff1d7;
  color:#8b6722;
}

.home-progress-state.is-done{
  background:#e8f3eb;
  color:#42684f;
}

.home-progress-note{
  margin:10px 0 14px;
  color:#82786d;
  font-size:10px;
  line-height:1.5;
}

.home-dashboard-side .home-install-cta{
  width:100%;
  margin:0!important;
}

.home-side-signoff{
  min-height:110px;
  padding:18px 20px;
  border:1px solid rgba(196,161,91,.18);
  border-radius:20px;
  background:linear-gradient(145deg,#f9f5ed,#fffdf9);
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}

.home-side-signoff span{
  color:#a67c2b;
  font-size:7px;
  font-weight:900;
  letter-spacing:1.55px;
  text-transform:uppercase;
}

.home-side-signoff strong{
  margin-top:7px;
  color:#2c332f;
  font:italic 500 16px/1.35 Georgia,"Times New Roman",serif;
}

.home-side-signoff small{
  margin-top:6px;
  color:#9a8d7e;
  font-size:9px;
  letter-spacing:.25px;
}

.view[data-view="home"]>.signature,
.view[data-view="home"]>.home-luxe-note,
.view[data-view="home"]>.home-divider,
.view[data-view="home"]>.home-brand-seal{
  display:none!important;
}

/* Estado do aviso de perfil incompleto: continua acima de tudo. */
.view[data-view="home"].active.has-profile-completion-prompt{
  display:block!important;
}
.view[data-view="home"].active.has-profile-completion-prompt .profile-completion-prompt{
  width:min(1180px,100%)!important;
  margin:0 auto 16px!important;
}
.view[data-view="home"].active.has-profile-completion-prompt .home-greeting,
.view[data-view="home"].active.has-profile-completion-prompt .home-dashboard{
  width:min(1180px,100%)!important;
}

@media(max-width:900px){
  .home-dashboard{
    grid-template-columns:1fr;
  }
  .home-story-media,
  .home-story-media>img{
    min-height:390px;
  }
  .home-dashboard-side{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
  }
  .home-dashboard-side .home-planning-entry{
    grid-column:1 / -1;
  }
}

@media(max-width:640px){
  .view[data-view="home"] .home-greeting{
    margin-bottom:13px!important;
  }
  .home-dashboard{
    gap:12px;
  }
  .home-story-card{
    border-radius:19px;
  }
  .home-story-media,
  .home-story-media>img{
    min-height:340px;
  }
  .home-story-topline{
    left:13px;
    right:13px;
    top:13px;
  }
  .home-story-topline>span{
    min-height:30px;
    padding:0 10px;
    font-size:7px;
  }
  .home-photo-action{
    min-height:30px;
    padding:0 10px;
    font-size:7px;
  }
  .home-story-copy{
    left:13px;
    right:13px;
    bottom:13px;
    padding:14px 15px;
    border-radius:15px;
  }
  .home-story-copy strong{
    font-size:29px;
  }
  .home-story-copy span{
    font-size:10px;
  }
  .home-dashboard-side{
    display:grid;
    grid-template-columns:1fr;
    gap:11px;
  }
  .home-dashboard-side .home-planning-entry{
    grid-column:auto;
  }
  .home-dashboard-side .home-planning-cta{
    min-height:104px;
  }
  .home-side-signoff{
    min-height:88px;
    padding:15px;
  }
}


/* ============================================================
   TESTE 58 · HOME COM MAIS GLAMOUR E MAIS LÓGICA DE APP
   ============================================================ */

.view[data-view="home"] .home-greeting{
  width:min(1180px,100%)!important;
  margin:0 auto 18px!important;
}

.view[data-view="home"] .home-greeting h2{
  max-width:760px;
}

.home-premium-shell{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  gap:18px;
}

.home-hero-app{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,480px);
  gap:18px;
  padding:18px;
  border:1px solid rgba(208,186,144,.38);
  border-radius:30px;
  background:
    radial-gradient(circle at top right,rgba(219,183,110,.10),transparent 30%),
    linear-gradient(180deg,rgba(255,253,249,.98),rgba(249,244,236,.95));
  box-shadow:0 24px 60px rgba(31,28,24,.06);
  overflow:hidden;
}

.home-hero-app:before{
  content:'';
  position:absolute;
  inset:auto auto -90px -70px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(15,54,46,.10),transparent 70%);
  pointer-events:none;
}

.home-hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  padding:6px 4px 6px 6px;
}

.home-hero-copy-inner small{
  display:inline-block;
  margin-bottom:14px;
  color:#b38a36;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.9px;
  text-transform:uppercase;
}

.home-hero-copy-inner strong{
  display:block;
  color:#20342d;
  font:600 46px/1.03 Georgia,"Times New Roman",serif;
  letter-spacing:-.03em;
}

.home-hero-venue{
  display:block;
  margin-top:10px;
  color:#5c665f;
  font-size:14px;
}

.home-hero-copy-inner p{
  max-width:560px;
  margin:18px 0 0;
  color:#6d6d6a;
  font-size:14px;
  line-height:1.65;
}

.home-hero-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:12px;
  margin-top:22px;
  align-items:stretch;
}

.home-planning-cta-hero{
  min-height:126px!important;
  border-radius:22px!important;
  box-shadow:0 18px 44px rgba(15,43,37,.14);
}

.home-secondary-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:126px;
  padding:22px 20px;
  border:1px solid rgba(206,184,145,.54);
  border-radius:22px;
  background:rgba(255,252,246,.88);
  color:#23352e;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(34,27,18,.04);
}

.home-secondary-link span{
  font:600 22px/1.12 Georgia,"Times New Roman",serif;
}

.home-secondary-link b{
  color:#bb9237;
  font-size:22px;
}

.home-story-card{
  position:relative;
  min-width:0;
  border:1px solid rgba(199,172,121,.34);
  border-radius:26px;
  overflow:hidden;
  background:#10211b;
  box-shadow:0 24px 56px rgba(23,26,22,.12);
}

.home-story-media{
  position:relative;
  min-height:430px;
  height:100%;
  overflow:hidden;
}

.home-story-media>img{
  width:100%;
  height:100%;
  min-height:430px;
  display:block;
  object-fit:cover;
  object-position:center center;
  transition:transform .8s ease,filter .4s ease;
}

.home-story-card.has-personal-photo .home-story-media>img{
  filter:saturate(1.04) contrast(1.02) brightness(.96);
}

.home-story-card:not(.has-personal-photo) .home-story-media>img{
  filter:saturate(.92) brightness(.72);
}

.home-story-media:after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,17,14,.22) 0%,rgba(8,17,14,.02) 34%,rgba(8,17,14,.78) 100%),
    linear-gradient(90deg,rgba(7,12,10,.20),transparent 54%);
  pointer-events:none;
}

.home-story-topline{
  position:absolute;
  z-index:3;
  left:18px;
  right:18px;
  top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.home-story-topline>span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(230,199,126,.28);
  border-radius:999px;
  background:rgba(12,27,21,.70);
  color:#e4c56f;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.5px;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}

.home-photo-action{
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#263b34;
  font-size:8px;
  font-weight:900;
  letter-spacing:.5px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}

.home-photo-caption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:3;
  padding:16px 18px;
  border:1px solid rgba(231,204,144,.20);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(10,22,18,.90),rgba(13,31,24,.78));
  backdrop-filter:blur(12px);
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}

.home-photo-caption strong{
  display:block;
  color:#fff;
  font:600 24px/1.08 Georgia,"Times New Roman",serif;
}

.home-photo-caption span{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.82);
  font-size:12px;
  line-height:1.5;
}

.home-panels-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr .95fr;
  gap:16px;
  align-items:stretch;
}

.home-panel{
  min-width:0;
}

.home-status.home-status-simple{
  margin:0!important;
  padding:18px 18px 16px!important;
  border:1px solid rgba(207,187,153,.58)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(249,244,235,.94))!important;
  box-shadow:0 14px 34px rgba(33,27,19,.05)!important;
}

.home-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.home-progress-note{
  margin:10px 0 0!important;
  color:#82786d;
  font-size:10px;
  line-height:1.52;
}

.home-quick-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-height:174px;
  padding:18px 18px 16px;
  border:1px solid rgba(206,184,145,.50);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,254,251,.98),rgba(247,241,231,.94));
  color:#24332d;
  text-align:left;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(33,27,19,.05);
}

.home-quick-card small{
  color:#b38a36;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.home-quick-card strong{
  display:block;
  color:#24352e;
  font:600 27px/1.05 Georgia,"Times New Roman",serif;
}

.home-quick-card em{
  color:#7b7369;
  font-size:11px;
  font-style:normal;
  line-height:1.5;
}

.home-quick-card b{
  margin-top:auto;
  color:#b58b36;
  font-size:20px;
}

.home-install-card{
  background:linear-gradient(180deg,rgba(248,244,236,.98),rgba(255,251,243,.96));
}

.home-install-card strong{
  font-size:22px;
}

.view[data-view="home"]>.signature,
.view[data-view="home"]>.home-luxe-note,
.view[data-view="home"]>.home-divider,
.view[data-view="home"]>.home-brand-seal,
.home-dashboard,
.home-dashboard-side,
.home-side-signoff{
  display:none!important;
}

.view[data-view="home"].active.has-profile-completion-prompt{
  display:block!important;
}
.view[data-view="home"].active.has-profile-completion-prompt .profile-completion-prompt{
  width:min(1180px,100%)!important;
  margin:0 auto 16px!important;
}
.view[data-view="home"].active.has-profile-completion-prompt .home-greeting,
.view[data-view="home"].active.has-profile-completion-prompt .home-premium-shell{
  width:min(1180px,100%)!important;
}

@media(max-width:980px){
  .home-hero-app{
    grid-template-columns:1fr;
  }
  .home-hero-actions{
    grid-template-columns:1fr 1fr;
  }
  .home-panels-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-status.home-status-simple{
    grid-column:1 / -1;
  }
}

@media(max-width:640px){
  .view[data-view="home"] .home-greeting{
    margin-bottom:14px!important;
  }
  .home-premium-shell{
    gap:12px;
  }
  .home-hero-app{
    gap:14px;
    padding:14px;
    border-radius:22px;
  }
  .home-hero-copy-inner strong{
    font-size:34px;
  }
  .home-hero-copy-inner p{
    font-size:12px;
    margin-top:14px;
  }
  .home-hero-actions{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }
  .home-planning-cta-hero,
  .home-secondary-link{
    min-height:98px!important;
    border-radius:18px!important;
  }
  .home-secondary-link span{
    font-size:18px;
  }
  .home-story-card{
    border-radius:20px;
  }
  .home-story-media,
  .home-story-media>img{
    min-height:300px;
  }
  .home-story-topline{
    left:12px;
    right:12px;
    top:12px;
    flex-wrap:wrap;
  }
  .home-story-topline>span,
  .home-photo-action{
    min-height:30px;
    font-size:7px;
    padding:0 10px;
  }
  .home-photo-caption{
    left:12px;
    right:12px;
    bottom:12px;
    padding:13px 14px;
    border-radius:15px;
  }
  .home-photo-caption strong{
    font-size:21px;
  }
  .home-photo-caption span{
    font-size:10px;
  }
  .home-panels-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-quick-card,
  .home-status.home-status-simple{
    min-height:auto;
  }
  .home-quick-card{
    padding:16px;
    border-radius:18px;
  }
  .home-quick-card strong{
    font-size:23px;
  }
}


/* ============================================================
   TESTE 59 · HOME WOW — PERSONAL, LEVE, GLAMOUR
   ============================================================ */

.view[data-view="home"].active{
  display:block!important;
}

.view[data-view="home"] .home-greeting,
.home-premium-shell,
.home-dashboard,
.home-dashboard-side,
.home-side-signoff{
  display:none!important;
}

.home-wow-hero{
  position:relative;
  width:min(1180px,100%);
  min-height:560px;
  margin:0 auto;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 74% 20%,rgba(211,175,96,.18),transparent 26%),
    radial-gradient(circle at 22% 88%,rgba(46,91,75,.28),transparent 33%),
    linear-gradient(145deg,#0c1d17 0%,#17392f 52%,#0b1713 100%);
  border:1px solid rgba(196,156,77,.34);
  box-shadow:0 30px 74px rgba(18,29,24,.18);
}

.home-wow-photo{
  position:absolute;
  inset:0;
}

.home-wow-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 42%;
  animation:homeWowPhotoIn .8s ease both;
}

.home-wow-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(5,14,11,.90) 0%,rgba(6,16,13,.72) 38%,rgba(5,13,10,.20) 68%,rgba(5,13,10,.10) 100%),
    linear-gradient(180deg,rgba(4,10,8,.18),rgba(4,10,8,.02) 48%,rgba(4,10,8,.40));
  pointer-events:none;
}

.home-wow-hero:not(.has-personal-photo) .home-wow-shade{
  background:
    radial-gradient(circle at 72% 28%,rgba(220,181,91,.15),transparent 25%),
    radial-gradient(circle at 30% 74%,rgba(91,135,117,.22),transparent 34%),
    linear-gradient(135deg,rgba(7,20,16,.95),rgba(18,55,45,.92) 58%,rgba(8,20,16,.98));
}

.home-wow-topbar{
  position:absolute;
  z-index:4;
  top:24px;
  left:26px;
  right:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.home-wow-topbar>span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(222,187,107,.28);
  border-radius:999px;
  background:rgba(7,18,14,.38);
  backdrop-filter:blur(10px);
  color:#e4c56f;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.65px;
  text-transform:uppercase;
}

.home-wow-photo-action{
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#21372f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.45px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}

.home-wow-content{
  position:absolute;
  z-index:3;
  left:44px;
  bottom:42px;
  width:min(600px,calc(100% - 88px));
  color:#fff;
}

.home-wow-intro>small{
  display:block;
  color:#e1bd63;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.9px;
  text-transform:uppercase;
  margin-bottom:11px;
}

.home-wow-intro h2{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap;
  gap:8px!important;
  margin:0!important;
  max-width:600px;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:48px!important;
  line-height:.98!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
  text-shadow:0 10px 34px rgba(0,0,0,.26);
}

.home-wow-intro #homeNames .home-bride,
.home-wow-intro #homeNames .home-groom{
  color:#fff!important;
}

.home-wow-intro #homeNames .home-amp{
  color:#e2bd63!important;
  font-style:italic!important;
  font-size:.78em!important;
}

.home-wow-intro>p{
  margin:10px 0 0;
  color:rgba(255,255,255,.80);
  font-size:12px;
  letter-spacing:.04em;
}

.home-wow-event{
  display:flex;
  align-items:center;
  gap:13px;
  flex-wrap:wrap;
  margin:24px 0 18px;
}

.home-wow-event strong{
  color:#fff;
  font:600 25px/1.05 Georgia,"Times New Roman",serif;
}

.home-wow-event span{
  color:rgba(255,255,255,.78);
  font-size:12px;
}

.home-wow-primary{
  width:min(520px,100%);
  min-height:108px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 28px;
  align-items:center;
  gap:14px;
  padding:17px 18px;
  border:1px solid rgba(224,190,110,.30);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(20,55,45,.92),rgba(10,35,28,.92));
  color:#fff;
  text-align:left;
  cursor:pointer;
  backdrop-filter:blur(14px);
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}

.home-wow-primary:hover{
  transform:translateY(-1px);
}

.home-wow-primary-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px;
  border:1px solid rgba(224,190,110,.28);
  background:rgba(255,255,255,.06);
  color:#e1bd63;
  font-size:19px;
}

.home-wow-primary div{
  min-width:0;
}

.home-wow-primary small{
  display:block;
  color:#e1bd63;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.4px;
  margin-bottom:4px;
}

.home-wow-primary strong{
  display:block;
  color:#fff;
  font:600 26px/1.04 Georgia,"Times New Roman",serif;
}

.home-wow-primary em{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.72);
  font-size:10px;
  font-style:normal;
  line-height:1.4;
}

.home-wow-primary>b{
  color:#e1bd63;
  font-size:24px;
}

.home-wow-signature{
  position:absolute;
  z-index:3;
  right:28px;
  bottom:26px;
  color:rgba(255,255,255,.60);
  font-size:8px;
  font-weight:800;
  letter-spacing:1.35px;
  text-transform:uppercase;
}

.home-wow-empty{
  position:absolute;
  z-index:2;
  top:50%;
  right:8%;
  width:min(330px,36%);
  transform:translateY(-50%);
  text-align:center;
  color:#fff;
}

.home-wow-empty>span{
  width:74px;
  height:74px;
  margin:0 auto 17px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(224,190,110,.38);
  background:rgba(255,255,255,.04);
  color:#e1bd63;
  font:500 24px/1 Georgia,"Times New Roman",serif;
  letter-spacing:.08em;
}

.home-wow-empty strong{
  display:block;
  font:600 24px/1.12 Georgia,"Times New Roman",serif;
}

.home-wow-empty small{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.68);
  font-size:10px;
  line-height:1.5;
}

.home-wow-status{
  width:min(900px,calc(100% - 40px));
  min-height:74px;
  margin:-20px auto 0;
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:auto minmax(160px,1fr) minmax(220px,auto);
  align-items:center;
  gap:18px;
  padding:13px 18px;
  border:1px solid rgba(202,177,126,.42);
  border-radius:20px;
  background:rgba(255,253,249,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 16px 38px rgba(31,27,21,.08);
}

.home-wow-progress-copy{
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  column-gap:10px;
  row-gap:2px;
}

.home-wow-progress-copy>small{
  grid-column:1 / -1;
  color:#ad8230;
  font-size:7px;
  font-weight:900;
  letter-spacing:1.4px;
}

.home-wow-progress-copy>strong{
  color:#28372f;
  font-size:13px;
}

.home-wow-progress-track{
  height:5px;
  overflow:hidden;
  border-radius:999px;
  background:#e7ded0;
}

.home-wow-progress-track i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#173a30,#b38a35);
  transition:width .5s ease;
}

.home-wow-status>p{
  margin:0;
  color:#887f74;
  font-size:9px;
  line-height:1.45;
  text-align:right;
}

/* First access — photo is part of identity, not an optional extra. */
.profile-onboarding-photo-card{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:20px;
  align-items:center;
  margin:18px 0;
  padding:18px;
  border:1px solid rgba(199,171,117,.38);
  border-radius:22px;
  background:linear-gradient(145deg,#14372d,#0c211a);
  color:#fff;
  box-shadow:0 18px 42px rgba(21,43,35,.10);
}

.profile-onboarding-photo-preview{
  position:relative;
  height:180px;
  overflow:hidden;
  border-radius:17px;
  border:1px solid rgba(222,187,107,.22);
  background:radial-gradient(circle at 70% 20%,rgba(211,175,96,.16),transparent 30%),#0d241d;
}

.profile-onboarding-photo-preview>img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.profile-onboarding-photo-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  gap:5px;
  text-align:center;
  color:#fff;
}

.profile-onboarding-photo-placeholder[hidden]{display:none!important}
.profile-onboarding-photo-placeholder>span{color:#e1bd63;font-size:28px}
.profile-onboarding-photo-placeholder>strong{font:600 18px/1.1 Georgia,"Times New Roman",serif}
.profile-onboarding-photo-placeholder>small{color:rgba(255,255,255,.62);font-size:9px}

.profile-onboarding-photo-copy>small{
  color:#e1bd63;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.5px;
}

.profile-onboarding-photo-copy>strong{
  display:block;
  margin-top:7px;
  color:#fff;
  font:600 25px/1.08 Georgia,"Times New Roman",serif;
}

.profile-onboarding-photo-copy>p{
  margin:9px 0 14px;
  color:rgba(255,255,255,.72);
  font-size:11px;
  line-height:1.55;
}

.profile-onboarding-photo-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border-radius:12px;
  background:#fff;
  color:#19382e;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}

.profile-onboarding-photo-button input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.profile-onboarding-photo-copy>em{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.48);
  font-size:8px;
  font-style:normal;
}

@keyframes homeWowPhotoIn{
  from{opacity:.35;transform:scale(1.025)}
  to{opacity:1;transform:scale(1)}
}

@media(max-width:760px){
  .home-wow-hero{
    min-height:600px;
    border-radius:22px;
  }

  .home-wow-shade{
    background:linear-gradient(180deg,rgba(4,12,9,.10) 0%,rgba(4,12,9,.16) 35%,rgba(4,12,9,.94) 77%,rgba(4,12,9,.98) 100%);
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-shade{
    background:radial-gradient(circle at 72% 20%,rgba(220,181,91,.16),transparent 24%),linear-gradient(155deg,#0a1e17,#173c30 58%,#091712);
  }

  .home-wow-topbar{
    top:14px;
    left:14px;
    right:14px;
  }

  .home-wow-topbar>span{
    max-width:58%;
    min-height:30px;
    padding:0 9px;
    font-size:6.5px;
    letter-spacing:1px;
  }

  .home-wow-photo-action{
    min-height:30px;
    padding:0 10px;
    font-size:7px;
  }

  .home-wow-content{
    left:16px;
    right:16px;
    bottom:18px;
    width:auto;
  }

  .home-wow-intro h2{
    font-size:38px!important;
  }

  .home-wow-intro>p{
    font-size:10px;
  }

  .home-wow-event{
    margin:18px 0 14px;
  }

  .home-wow-event strong{
    font-size:21px;
  }

  .home-wow-primary{
    min-height:96px;
    grid-template-columns:42px minmax(0,1fr) 22px;
    padding:14px;
    border-radius:17px;
  }

  .home-wow-primary-icon{
    width:40px;height:40px;border-radius:12px;font-size:16px;
  }

  .home-wow-primary strong{
    font-size:21px;
  }

  .home-wow-signature{
    display:none;
  }

  .home-wow-empty{
    top:30%;
    right:12%;
    left:12%;
    width:auto;
    transform:none;
  }

  .home-wow-status{
    width:calc(100% - 24px);
    min-height:68px;
    margin:-12px auto 0;
    grid-template-columns:auto 1fr;
    gap:10px 14px;
    padding:12px 14px;
    border-radius:17px;
  }

  .home-wow-status>p{
    grid-column:1 / -1;
    text-align:left;
  }

  .profile-onboarding-photo-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:14px;
    border-radius:18px;
  }

  .profile-onboarding-photo-preview{
    height:210px;
  }
}


/* ============================================================
   TESTE 60 · HOME SEM FOTO — ESTADO LIMPO NO MOBILE
   Corrige apenas o estado sem fotografia. A home COM fotografia
   fica exatamente como na TESTE 59.
   ============================================================ */

/* Desktop/tablet sem foto: separar claramente a mensagem de fotografia
   da informação normal do casamento. */
.home-wow-hero:not(.has-personal-photo) .home-wow-content{
  width:min(520px,48%);
}

.home-wow-hero:not(.has-personal-photo) .home-wow-empty{
  top:46%;
  right:7%;
  width:min(320px,34%);
}

@media(max-width:760px){
  /* No mobile, quando ainda não existe fotografia, não mostramos duas
     camadas de texto em cima uma da outra. A mensagem da foto ocupa o
     centro e o acesso ao planeamento fica isolado em baixo. */
  .home-wow-hero:not(.has-personal-photo){
    min-height:590px;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    left:14px;
    right:14px;
    bottom:16px;
    width:auto;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-intro,
  .home-wow-hero:not(.has-personal-photo) .home-wow-event{
    display:none!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:35%;
    left:24px;
    right:24px;
    width:auto;
    transform:none;
    padding:0 6px;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-empty>span{
    width:66px;
    height:66px;
    margin-bottom:14px;
    font-size:22px;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    max-width:280px;
    margin:0 auto;
    font-size:23px;
    line-height:1.08;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    max-width:270px;
    margin:9px auto 0;
    font-size:10px;
    line-height:1.45;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-primary{
    min-height:92px;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-topbar>span{
    max-width:52%;
  }
}


/* ============================================================
   TESTE 61 · FOTOGRAFIA / LOGO MP
   ============================================================ */

/* Evita que o alt da pré-visualização apareça quando ainda não há foto. */
.profile-onboarding-photo-preview img[hidden]{
  display:none!important;
}

/* Logo MP oficial fornecido pelo utilizador no estado sem fotografia. */
.home-wow-empty>span.home-wow-empty-logo{
  width:78px;
  height:78px;
  padding:13px;
  box-sizing:border-box;
  border-radius:50%;
  border:1px solid rgba(224,190,110,.38);
  background:rgba(255,255,255,.035);
}
.home-wow-empty-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.profile-onboarding-photo-placeholder>span.profile-onboarding-photo-logo{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  padding:10px;
  box-sizing:border-box;
  border:1px solid rgba(224,190,110,.30);
  border-radius:50%;
  background:rgba(255,255,255,.035);
}
.profile-onboarding-photo-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

@media(max-width:760px){
  .home-wow-hero:not(.has-personal-photo) .home-wow-empty>span.home-wow-empty-logo{
    width:68px;
    height:68px;
    padding:11px;
  }
}


/* ============================================================
   TESTE 62 · VOLTAR NA FOTO + INSTALAÇÃO DISCRETA NA HOME
   ============================================================ */
.profile-photo-modal-nav{
  display:flex;
  justify-content:flex-start;
  margin:-2px 0 8px;
}
.profile-photo-back{
  border:0;
  background:transparent;
  color:#7c6a4f;
  padding:4px 2px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.25px;
  cursor:pointer;
}
.profile-photo-back:hover{color:#18382e}

.home-wow-status{
  grid-template-columns:auto minmax(150px,1fr) minmax(190px,auto) auto!important;
}
.home-wow-install{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid rgba(181,140,53,.26);
  border-radius:12px;
  background:rgba(255,250,241,.76);
  color:#314038;
  cursor:pointer;
  white-space:nowrap;
}
.home-wow-install>span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#18382e;
  color:#dfbd67;
  font-size:12px;
}
.home-wow-install>div{
  display:grid;
  gap:1px;
  text-align:left;
}
.home-wow-install strong{
  color:#314038;
  font-size:8px;
  line-height:1.15;
}
.home-wow-install small{
  color:#978a7d;
  font-size:6.5px;
  line-height:1.15;
}
.home-wow-install.installed{
  opacity:.72;
}

@media(max-width:760px){
  .home-wow-status{
    grid-template-columns:auto 1fr!important;
  }
  .home-wow-status>p{
    grid-column:1 / -1;
  }
  .home-wow-install{
    grid-column:1 / -1;
    justify-self:start;
    min-height:34px;
    padding:5px 9px;
    margin-top:-1px;
    border-radius:11px;
  }
  .home-wow-install>span{
    width:22px;
    height:22px;
  }
  .home-wow-install strong{font-size:7.5px}
  .home-wow-install small{font-size:6px}
}


/* TESTE 63 · instalação discreta + voltar elegante */
.home-wow-status{
  grid-template-columns:auto minmax(170px,1fr) minmax(220px,auto) auto!important;
  align-items:center!important;
}
.home-wow-install-link{
  appearance:none!important;-webkit-appearance:none!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:2px 0!important;margin:0!important;min-height:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;
  gap:6px!important;color:#8f7a50!important;cursor:pointer!important;white-space:nowrap!important;
  overflow:visible!important;
}
.home-wow-install-link>span{width:auto!important;height:auto!important;display:inline!important;background:transparent!important;color:#b98d34!important;font-size:12px!important;line-height:1!important}
.home-wow-install-link>strong{color:#5f594f!important;font-size:8px!important;line-height:1!important;font-weight:900!important;letter-spacing:.25px!important}
.home-wow-install-link>small{color:#aaa095!important;font-size:6.5px!important;line-height:1!important}
.home-wow-install-link:hover>strong{color:#17382e!important}
.home-wow-install-link.installed{opacity:.62!important;pointer-events:none!important}
.profile-photo-modal-nav{margin:0 0 10px!important}
.profile-photo-back{
  appearance:none!important;-webkit-appearance:none!important;
  border:1px solid rgba(183,147,78,.22)!important;background:#fbf7ef!important;color:#6e624f!important;
  min-height:30px!important;padding:0 10px!important;border-radius:999px!important;
  font-size:8px!important;line-height:1!important;font-weight:900!important;letter-spacing:.25px!important;box-shadow:none!important
}
.profile-photo-back:hover{background:#f5eddf!important;color:#17382e!important}
@media(max-width:760px){
  .home-wow-status{grid-template-columns:auto 1fr!important;row-gap:7px!important}
  .home-wow-status>p{grid-column:1 / -1!important}
  .home-wow-install-link{grid-column:1 / -1!important;justify-self:start!important;justify-content:flex-start!important;padding:1px 0!important;gap:5px!important}
  .home-wow-install-link>strong{font-size:7.5px!important}
  .home-wow-install-link>small{font-size:6px!important}
}


/* ============================================================
   TESTE 65 · FINAL WOW
   Apenas acabamento visual da HOME.
   Backend, fluxos, emails e dados permanecem inalterados.
   ============================================================ */

:root{
  --wow-green:#0b241c;
  --wow-green-2:#153c30;
  --wow-gold:#d1a84b;
  --wow-ivory:#fbf7ef;
}

/* HERO — mais cinematográfico e menos "cartão de formulário" */
.home-wow-hero{
  min-height:610px!important;
  border-radius:32px!important;
  border:1px solid rgba(209,168,75,.38)!important;
  box-shadow:
    0 34px 90px rgba(12,29,23,.18),
    0 3px 0 rgba(255,255,255,.22) inset!important;
  isolation:isolate;
}

.home-wow-hero:before{
  content:'';
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 88% 9%,rgba(238,199,105,.20),transparent 22%),
    linear-gradient(115deg,rgba(6,18,14,.18),transparent 42%);
  mix-blend-mode:screen;
  opacity:.72;
}

.home-wow-hero.has-personal-photo .home-wow-photo img{
  filter:saturate(1.02) contrast(1.015) brightness(.94);
}

.home-wow-shade{
  background:
    linear-gradient(90deg,rgba(5,15,11,.95) 0%,rgba(6,18,14,.85) 36%,rgba(6,17,13,.38) 62%,rgba(4,12,9,.08) 100%),
    linear-gradient(180deg,rgba(2,8,6,.13),rgba(3,11,8,.02) 42%,rgba(3,10,7,.42))!important;
}

.home-wow-topbar{
  top:26px!important;
  left:30px!important;
  right:30px!important;
}

.home-wow-topbar>span{
  min-height:32px!important;
  border-color:rgba(226,190,99,.34)!important;
  background:rgba(6,18,14,.44)!important;
  color:#edcb72!important;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.home-wow-photo-action{
  background:rgba(255,252,245,.94)!important;
  color:#17372d!important;
  box-shadow:0 10px 28px rgba(0,0,0,.13)!important;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.home-wow-photo-action:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
}

.home-wow-content{
  left:46px!important;
  bottom:54px!important;
  width:min(610px,calc(100% - 92px))!important;
  animation:homeWowContentIn .72s cubic-bezier(.22,.8,.2,1) both;
}

.home-wow-intro>small{
  color:#eac96f!important;
  letter-spacing:2.1px!important;
}

.home-wow-intro h2{
  font-size:50px!important;
  max-width:650px!important;
  text-shadow:0 12px 38px rgba(0,0,0,.32)!important;
}

.home-wow-intro>p{
  margin-top:11px!important;
  color:rgba(255,255,255,.82)!important;
}

.home-wow-event{
  margin:23px 0 17px!important;
}

.home-wow-event strong{
  font-size:27px!important;
  letter-spacing:-.01em;
}

.home-wow-event span{
  color:rgba(255,255,255,.82)!important;
}

/* CTA principal — peça premium, não botão genérico */
.home-wow-primary{
  position:relative;
  overflow:hidden;
  width:min(535px,100%)!important;
  min-height:106px!important;
  padding:17px 18px!important;
  border:1px solid rgba(224,190,110,.43)!important;
  border-radius:21px!important;
  background:
    linear-gradient(135deg,rgba(18,58,46,.95),rgba(6,33,26,.94))!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05)!important;
  transition:transform .25s ease,box-shadow .25s ease!important;
}
.home-wow-primary:after{
  content:'';
  position:absolute;
  inset:-60% auto -60% -34%;
  width:24%;
  transform:rotate(16deg);
  background:linear-gradient(90deg,transparent,rgba(255,232,170,.10),transparent);
  animation:homeWowSheen 6.5s ease-in-out infinite;
  pointer-events:none;
}
.home-wow-primary:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 24px 54px rgba(0,0,0,.27)!important;
}
.home-wow-primary-icon{
  border-color:rgba(225,190,99,.38)!important;
  background:rgba(255,255,255,.055)!important;
}
.home-wow-primary small{
  color:#ebc96e!important;
}
.home-wow-primary strong{
  font-size:27px!important;
}
.home-wow-primary>b{
  color:#ebc96e!important;
}

/* Dois acessos rápidos integrados no hero */
.home-wow-shortcuts{
  width:min(535px,100%);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.home-wow-shortcuts>button{
  min-height:70px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 14px;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid rgba(224,190,110,.24);
  border-radius:16px;
  background:rgba(7,26,20,.55);
  color:#fff;
  text-align:left;
  cursor:pointer;
  backdrop-filter:blur(12px);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
  transition:background .2s ease,transform .2s ease,border-color .2s ease;
}
.home-wow-shortcuts>button:hover{
  transform:translateY(-1px);
  background:rgba(14,43,34,.72);
  border-color:rgba(224,190,110,.36);
}
.home-wow-shortcut-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:rgba(255,255,255,.055);
  color:#eac96f;
  font-size:15px;
}
.home-wow-shortcuts strong{
  display:block;
  color:#fff;
  font-size:11px;
  line-height:1.15;
}
.home-wow-shortcuts small{
  display:block;
  margin-top:3px;
  color:rgba(255,255,255,.58);
  font-size:8px;
}
.home-wow-shortcuts b{
  color:#dcb75f;
  font-size:14px;
}

.home-wow-mantra{
  margin-top:13px;
  color:rgba(241,220,170,.78);
  font:italic 500 17px/1.2 Georgia,"Times New Roman",serif;
  letter-spacing:.01em;
}

/* Rodapé mínimo dentro do hero */
.home-wow-footerline{
  position:absolute;
  z-index:4;
  left:30px;
  right:30px;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  pointer-events:none;
}
.home-wow-footerline>span{
  color:rgba(255,255,255,.42);
  font-size:7px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}
.home-wow-footerline .home-wow-install-link{
  pointer-events:auto;
}

/* Instalar — micro ação, não destaque visual */
.home-wow-install-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:4px 7px!important;
  min-height:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(8,23,18,.32)!important;
  color:rgba(255,255,255,.68)!important;
  backdrop-filter:blur(8px);
  cursor:pointer!important;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease!important;
}
.home-wow-install-link:hover{
  background:rgba(8,23,18,.52)!important;
  color:#fff!important;
}
.home-wow-install-link>span{
  color:#dbb75e!important;
  font-size:10px!important;
  line-height:1!important;
}
.home-wow-install-link>strong{
  color:inherit!important;
  font-size:7px!important;
  font-weight:800!important;
  line-height:1!important;
}
.home-wow-install-link>small{
  color:rgba(255,255,255,.42)!important;
  font-size:6px!important;
  line-height:1!important;
}
.home-wow-install-link.installed{
  opacity:.56!important;
  pointer-events:none!important;
}

/* Progress bar passa a ser editorial e leve */
.home-wow-status{
  width:min(760px,calc(100% - 48px))!important;
  min-height:62px!important;
  margin:-18px auto 0!important;
  grid-template-columns:auto minmax(180px,1fr) minmax(180px,auto)!important;
  gap:14px!important;
  padding:10px 16px!important;
  border-radius:18px!important;
  border-color:rgba(201,174,117,.36)!important;
  background:rgba(255,253,248,.91)!important;
  box-shadow:0 16px 40px rgba(28,24,18,.08)!important;
}
.home-wow-progress-track{
  height:4px!important;
}
.home-wow-status>p{
  font-size:8px!important;
  color:#968c80!important;
}

/* Bottom nav — mais app, menos barra */
.bottom-nav{
  background:rgba(251,248,242,.90)!important;
  border:1px solid rgba(202,184,151,.42)!important;
  border-bottom-color:rgba(202,184,151,.28)!important;
  box-shadow:0 16px 44px rgba(35,30,23,.09)!important;
  backdrop-filter:blur(22px)!important;
}
.bottom-nav button{
  border-radius:15px!important;
}
.bottom-nav button.active{
  background:linear-gradient(180deg,#fff7e8,#f7ead0)!important;
  color:#b58323!important;
}
.bottom-nav button.active span{
  color:#b58323!important;
  filter:none!important;
}
.bottom-nav button.active small{
  color:#a8771f!important;
  font-weight:800!important;
}

/* Estado sem fotografia — continua elegante e não interfere com a nova estrutura */
.home-wow-hero:not(.has-personal-photo) .home-wow-shortcuts,
.home-wow-hero:not(.has-personal-photo) .home-wow-mantra{
  opacity:.74;
}

/* Movimento muito suave, sem exageros */
@keyframes homeWowContentIn{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes homeWowSheen{
  0%,72%{left:-34%;opacity:0}
  78%{opacity:1}
  92%{left:124%;opacity:0}
  100%{left:124%;opacity:0}
}

@media(prefers-reduced-motion:reduce){
  .home-wow-content,
  .home-wow-primary:after,
  .home-wow-photo img{
    animation:none!important;
  }
}

/* MOBILE — imagem continua protagonista; ações compactas e claras */
@media(max-width:760px){
  .home-wow-hero{
    min-height:650px!important;
    border-radius:22px!important;
  }

  .home-wow-shade{
    background:
      linear-gradient(180deg,rgba(4,12,9,.08) 0%,rgba(4,12,9,.10) 30%,rgba(4,12,9,.88) 67%,rgba(4,12,9,.98) 100%)!important;
  }

  .home-wow-topbar{
    top:13px!important;
    left:13px!important;
    right:13px!important;
  }

  .home-wow-content{
    left:14px!important;
    right:14px!important;
    bottom:46px!important;
    width:auto!important;
  }

  .home-wow-intro h2{
    font-size:36px!important;
    line-height:.98!important;
  }

  .home-wow-event{
    margin:15px 0 12px!important;
  }

  .home-wow-event strong{
    font-size:20px!important;
  }

  .home-wow-primary{
    width:100%!important;
    min-height:88px!important;
    grid-template-columns:40px minmax(0,1fr) 20px!important;
    padding:12px 13px!important;
    border-radius:16px!important;
  }

  .home-wow-primary-icon{
    width:38px!important;
    height:38px!important;
    border-radius:11px!important;
  }

  .home-wow-primary strong{
    font-size:20px!important;
  }

  .home-wow-primary em{
    font-size:8px!important;
  }

  .home-wow-shortcuts{
    width:100%;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:8px;
  }

  .home-wow-shortcuts>button{
    min-height:60px;
    grid-template-columns:27px minmax(0,1fr) 10px;
    gap:7px;
    padding:9px;
    border-radius:14px;
  }

  .home-wow-shortcut-icon{
    width:27px;
    height:27px;
    border-radius:9px;
    font-size:12px;
  }

  .home-wow-shortcuts strong{
    font-size:9px;
  }

  .home-wow-shortcuts small{
    font-size:6.5px;
  }

  .home-wow-mantra{
    display:none;
  }

  .home-wow-footerline{
    left:14px;
    right:14px;
    bottom:13px;
  }

  .home-wow-footerline>span{
    display:none;
  }

  .home-wow-install-link{
    margin-left:auto!important;
  }

  .home-wow-status{
    width:calc(100% - 24px)!important;
    min-height:58px!important;
    margin:-10px auto 0!important;
    grid-template-columns:auto 1fr!important;
    gap:8px 12px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
  }

  .home-wow-status>p{
    grid-column:1 / -1!important;
    text-align:left!important;
    margin-top:-2px!important;
  }

  /* Sem foto: mensagem ao centro, CTA e acessos em baixo sem sobreposição */
  .home-wow-hero:not(.has-personal-photo){
    min-height:630px!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    bottom:44px!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-intro,
  .home-wow-hero:not(.has-personal-photo) .home-wow-event{
    display:none!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:29%!important;
    left:22px!important;
    right:22px!important;
    width:auto!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-shortcuts{
    display:none!important;
  }
}

@media(min-width:761px){
  .bottom-nav{
    width:min(480px,calc(100% - 40px))!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    bottom:14px!important;
    border-radius:22px!important;
  }
}


/* ============================================================
   TESTE 66 · APROXIMAR DO MOCKUP OHHHH
   Ajuste visual da HOME apenas.
   Mantém toda a lógica funcional da TESTE 65/64.
   ============================================================ */

:root{
  --oh-cream:#fbf6ec;
  --oh-cream-2:#f3ecde;
  --oh-gold:#d5ab55;
  --oh-green:#07241c;
  --oh-green-2:#103a30;
  --oh-white:rgba(255,255,255,.96);
  --oh-serif: Georgia,"Times New Roman",serif;
}

/* HERO mais próximo do mockup */
.home-wow-hero{
  min-height:640px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  border:1px solid rgba(213,171,85,.42)!important;
  box-shadow:
    0 38px 88px rgba(14,28,22,.16),
    0 1px 0 rgba(255,255,255,.45) inset!important;
  background:#0d1713!important;
}

.home-wow-photo img{
  object-position:center center!important;
  transform:none!important;
}

.home-wow-hero.has-personal-photo .home-wow-photo img{
  filter:saturate(1.03) contrast(1.03) brightness(.96)!important;
}

.home-wow-shade{
  background:
    linear-gradient(90deg,rgba(6,18,14,.88) 0%,rgba(7,20,16,.76) 28%,rgba(7,18,14,.42) 52%,rgba(4,11,8,.10) 73%,rgba(4,11,8,.04) 100%),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.03) 35%,rgba(0,0,0,.28) 100%)!important;
}

.home-wow-topbar{
  top:18px!important;
  left:22px!important;
  right:22px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:16px!important;
}

.home-wow-topbar>span{
  min-height:38px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:rgba(7,24,18,.48)!important;
  border:1px solid rgba(220,186,106,.34)!important;
  color:#efcc72!important;
  font-size:10px!important;
  letter-spacing:2px!important;
  backdrop-filter:blur(12px)!important;
}

.home-wow-desktop-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0;
}
.home-wow-desktop-nav button{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.88);
  padding:10px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.home-wow-desktop-nav button:hover{
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}
.home-wow-desktop-nav button.is-active{
  background:rgba(255,244,223,.16);
  color:#fff3d1;
  box-shadow:inset 0 0 0 1px rgba(226,192,113,.35);
}

.home-wow-photo-action{
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:rgba(255,250,243,.96)!important;
  color:#1d372f!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 12px 30px rgba(0,0,0,.14)!important;
}

.home-wow-empty{
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-52%)!important;
  width:min(540px,calc(100% - 60px))!important;
  padding:40px 32px!important;
  border-radius:28px!important;
  background:
    linear-gradient(180deg,rgba(8,24,18,.78),rgba(7,20,15,.92))!important;
  border:1px solid rgba(215,179,92,.34)!important;
  box-shadow:0 26px 60px rgba(0,0,0,.20)!important;
  text-align:center!important;
}
.home-wow-empty strong{
  font-family:var(--oh-serif)!important;
  font-size:42px!important;
  line-height:.96!important;
  max-width:430px;
  margin:18px auto 0!important;
}
.home-wow-empty small{
  max-width:360px!important;
  margin:12px auto 0!important;
  color:rgba(255,255,255,.76)!important;
  font-size:15px!important;
  line-height:1.5!important;
}

.home-wow-content{
  left:38px!important;
  bottom:30px!important;
  width:min(560px,calc(100% - 76px))!important;
}

.home-wow-intro>small{
  color:#e4ba61!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:2.4px!important;
}

.home-wow-intro h2{
  font-family:var(--oh-serif)!important;
  font-size:66px!important;
  line-height:.92!important;
  letter-spacing:-.028em!important;
  color:#fff!important;
  text-shadow:0 16px 42px rgba(0,0,0,.28)!important;
}

.home-wow-intro>p{
  margin-top:10px!important;
  color:rgba(255,255,255,.90)!important;
  font-size:18px!important;
  line-height:1.35!important;
}

.home-wow-event{
  margin:22px 0 18px!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px 18px!important;
}
.home-wow-event strong{
  font-family:var(--oh-serif)!important;
  font-size:28px!important;
  color:#fff!important;
}
.home-wow-event span{
  color:rgba(255,255,255,.84)!important;
  font-size:16px!important;
}
.home-wow-event span b{
  font-weight:700!important;
}

/* CTA grande próximo do mockup */
.home-wow-primary{
  width:min(550px,100%)!important;
  min-height:126px!important;
  padding:18px 20px!important;
  border-radius:24px!important;
  border:1px solid rgba(220,187,108,.44)!important;
  background:
    linear-gradient(135deg,rgba(16,60,47,.92),rgba(8,34,28,.93))!important;
  box-shadow:
    0 22px 48px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.home-wow-primary-icon{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  background:rgba(255,251,243,.08)!important;
  border:1px solid rgba(221,188,108,.28)!important;
  display:grid!important;
  place-items:center!important;
  color:#edc975!important;
}
.home-wow-primary-icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-wow-primary small{
  color:#e5bb63!important;
  font-size:11px!important;
  letter-spacing:2px!important;
}
.home-wow-primary strong{
  font-family:var(--oh-serif)!important;
  font-size:24px!important;
  letter-spacing:-.015em!important;
}
.home-wow-primary em{
  color:rgba(255,255,255,.78)!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.home-wow-primary>b{
  font-size:34px!important;
  color:#efc972!important;
}

/* Botões secundários desktop */
.home-wow-shortcuts{
  width:min(550px,100%);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}
.home-wow-shortcuts>button{
  min-height:78px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 14px;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(220,187,108,.28);
  background:rgba(8,26,20,.60);
  color:#fff;
  text-align:left;
  backdrop-filter:blur(14px);
  box-shadow:0 14px 30px rgba(0,0,0,.10);
}
.home-wow-shortcuts>button:hover{
  background:rgba(11,34,27,.82)!important;
  border-color:rgba(225,192,114,.40)!important;
}
.home-wow-shortcut-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#dfbd67;
  background:rgba(255,251,243,.08);
  border:1px solid rgba(221,188,108,.22);
}
.home-wow-shortcut-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-wow-shortcuts strong{
  display:block;
  color:#fff;
  font-family:var(--oh-serif)!important;
  font-size:18px;
  line-height:1;
}
.home-wow-shortcuts small{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.66);
  font-size:11px;
}
.home-wow-shortcuts b{
  color:#deb965;
  font-size:18px;
}

.home-wow-mantra{
  margin-top:14px!important;
  color:#f1deaf!important;
  font:italic 500 18px/1.2 Georgia,"Times New Roman",serif!important;
}

/* Rodapé interno discreto */
.home-wow-footerline{
  left:24px!important;
  right:24px!important;
  bottom:16px!important;
}
.home-wow-footerline>span{
  font-size:8px!important;
  letter-spacing:1.9px!important;
  color:rgba(255,255,255,.38)!important;
}

.home-wow-install-link{
  padding:5px 9px!important;
  background:rgba(255,248,237,.14)!important;
  border:1px solid rgba(220,187,108,.22)!important;
  color:rgba(255,255,255,.72)!important;
}
.home-wow-install-link:hover{
  background:rgba(255,248,237,.22)!important;
}
.home-wow-install-link>strong{
  font-size:8px!important;
}
.home-wow-install-link>small{
  font-size:6px!important;
  color:rgba(255,255,255,.52)!important;
}

/* Barra de progresso fina e elegante */
.home-wow-status{
  width:min(760px,calc(100% - 66px))!important;
  min-height:72px!important;
  margin:-14px auto 0!important;
  padding:12px 18px!important;
  border-radius:22px!important;
  background:rgba(255,252,247,.96)!important;
  border:1px solid rgba(213,189,137,.38)!important;
  box-shadow:0 18px 44px rgba(40,33,24,.08)!important;
}
.home-wow-progress-copy strong{
  font-size:31px!important;
  font-family:var(--oh-serif)!important;
}
.home-progress-state{
  background:#f0ecdf!important;
  color:#85744f!important;
}
.home-wow-progress-track{
  height:4px!important;
  background:#eee7d8!important;
}
.home-wow-progress-track i{
  background:linear-gradient(90deg,#b98b2d,#dfbf79)!important;
}
.home-wow-status>p{
  color:#9b917f!important;
  font-size:11px!important;
}

/* Bottom nav menos pesada */
.bottom-nav{
  width:min(470px,calc(100% - 50px))!important;
  bottom:14px!important;
  border-radius:24px!important;
  background:rgba(251,247,239,.94)!important;
  border:1px solid rgba(209,190,156,.46)!important;
  box-shadow:0 18px 40px rgba(35,30,23,.08)!important;
}
.bottom-nav button{
  min-height:50px!important;
  border-radius:16px!important;
}
.bottom-nav button.active{
  background:linear-gradient(180deg,#fff9ea,#f8edd3)!important;
  box-shadow:inset 0 0 0 1px rgba(206,168,87,.65)!important;
}
.bottom-nav button small{
  font-size:10px!important;
}

/* MOBILE mais próximo do mockup */
@media(max-width:760px){
  .home-wow-hero{
    min-height:700px!important;
    border-radius:24px!important;
  }

  .home-wow-topbar{
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    top:12px!important;
    left:12px!important;
    right:12px!important;
  }

  .home-wow-topbar>span{
    font-size:8px!important;
    padding:0 12px!important;
    min-height:30px!important;
  }

  .home-wow-desktop-nav{
    display:none!important;
  }

  .home-wow-photo-action{
    min-height:34px!important;
    padding:0 12px!important;
    font-size:10px!important;
  }

  .home-wow-shade{
    background:
      linear-gradient(180deg,rgba(4,11,8,.00) 0%,rgba(4,11,8,.02) 22%,rgba(4,11,8,.35) 42%,rgba(4,11,8,.88) 72%,rgba(4,11,8,.96) 100%)!important;
  }

  .home-wow-content{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    bottom:36px!important;
  }

  .home-wow-intro h2{
    font-size:28px!important;
    line-height:.96!important;
  }

  .home-wow-intro>p{
    font-size:13px!important;
    margin-top:6px!important;
  }

  .home-wow-event{
    margin:12px 0 10px!important;
    gap:8px 12px!important;
  }

  .home-wow-event strong{
    font-size:20px!important;
  }

  .home-wow-event span{
    font-size:13px!important;
  }

  .home-wow-primary{
    min-height:84px!important;
    width:100%!important;
    grid-template-columns:42px minmax(0,1fr) 16px!important;
    gap:10px!important;
    padding:12px 14px!important;
    border-radius:18px!important;
  }

  .home-wow-primary-icon{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
  }
  .home-wow-primary-icon svg{
    width:21px;
    height:21px;
  }

  .home-wow-primary small{
    font-size:9px!important;
    letter-spacing:1.3px!important;
  }

  .home-wow-primary strong{
    font-size:16px!important;
    line-height:1!important;
  }

  .home-wow-primary em{
    font-size:9px!important;
    line-height:1.28!important;
  }

  .home-wow-shortcuts{
    gap:8px;
    margin-top:10px;
  }

  .home-wow-shortcuts>button{
    min-height:70px;
    grid-template-columns:36px minmax(0,1fr);
    padding:12px 13px;
    border-radius:16px;
    background:linear-gradient(180deg,#fffaf1,#f5ede0)!important;
    border:1px solid rgba(214,190,143,.54)!important;
    box-shadow:0 10px 24px rgba(23,21,17,.08);
    color:#20372f!important;
  }

  .home-wow-shortcut-icon{
    width:36px;
    height:36px;
    border-radius:12px;
    background:#fff!important;
    color:#b68a34;
    border:1px solid rgba(214,190,143,.66);
  }

  .home-wow-shortcuts strong{
    color:#1e352d!important;
    font-size:13px;
  }

  .home-wow-shortcuts small{
    color:#7f7569!important;
    font-size:8px;
    line-height:1.2;
  }

  .home-wow-shortcuts b{
    display:none!important;
  }

  .home-wow-mantra{
    font-size:14px!important;
    margin-top:10px!important;
  }

  .home-wow-footerline{
    bottom:10px!important;
    left:14px!important;
    right:14px!important;
  }

  .home-wow-footerline>span{
    display:none!important;
  }

  .home-wow-install-link{
    padding:4px 8px!important;
  }

  .home-wow-status{
    width:calc(100% - 22px)!important;
    min-height:60px!important;
    margin:-8px auto 0!important;
    padding:10px 12px!important;
    grid-template-columns:auto 1fr!important;
    gap:8px 12px!important;
    border-radius:18px!important;
  }

  .home-wow-progress-copy strong{
    font-size:19px!important;
  }

  .home-wow-status>p{
    grid-column:1 / -1!important;
    margin-top:-2px!important;
    font-size:9px!important;
  }

  .home-wow-empty{
    width:calc(100% - 28px)!important;
    padding:28px 18px!important;
  }
  .home-wow-empty strong{
    font-size:28px!important;
  }
  .home-wow-empty small{
    font-size:13px!important;
  }

  /* Sem fotografia: estrutura mais limpa e sem sobreposição */
  .home-wow-hero:not(.has-personal-photo) .home-wow-intro,
  .home-wow-hero:not(.has-personal-photo) .home-wow-event{
    display:none!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-shortcuts{
    grid-template-columns:1fr 1fr!important;
  }

  .home-wow-hero:not(.has-personal-photo) .home-wow-mantra{
    display:none!important;
  }
}

/* Desktop: esconder instalação se já existir destaque externo noutros ecrãs */
@media(min-width:761px){
  .home-wow-install-link{
    opacity:.78;
  }
}


/* ============================================================
   TESTE 67 · AJUSTES PELOS APONTAMENTOS A VERMELHO
   Objetivo: aproximar a Home ainda mais do mockup aprovado.
   ============================================================ */

:root{
  --mp-home-green:#082920;
  --mp-home-green-2:#123e32;
  --mp-home-green-3:#1f4f41;
  --mp-home-gold:#d4ae63;
  --mp-home-cream:#fff8ee;
  --mp-home-cream-2:#f7edde;
  --mp-home-line:rgba(214,182,114,.35);
}

/* HERO */
.home-wow-hero{
  background:linear-gradient(135deg,#0a261f 0%,#103428 42%,#0a241e 100%)!important;
}

.home-wow-photo img{
  object-fit:cover!important;
}

.home-wow-hero.has-personal-photo .home-wow-photo img{
  filter:saturate(1.05) contrast(1.03) brightness(.94)!important;
}

.home-wow-shade{
  background:
    linear-gradient(90deg,rgba(5,16,12,.78) 0%,rgba(6,18,14,.68) 22%,rgba(7,18,14,.34) 48%,rgba(6,15,12,.10) 74%,rgba(6,15,12,.04) 100%),
    linear-gradient(180deg,rgba(0,0,0,.00) 0%,rgba(0,0,0,.00) 30%,rgba(0,0,0,.22) 100%)!important;
}

/* Topbar igual à linguagem do mockup */
.home-wow-topbar{
  top:16px!important;
  left:24px!important;
  right:24px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:20px!important;
  z-index:3!important;
}

.home-wow-brand{
  width:174px!important;
  min-width:174px!important;
  height:42px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  white-space:nowrap!important;
  color:transparent!important;
  background:url('assets/mp-final-white-gold.svg') no-repeat left center / contain!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  justify-self:start!important;
}

.home-wow-desktop-nav{
  justify-content:flex-start!important;
  gap:18px!important;
  padding-left:8px!important;
}
.home-wow-desktop-nav button{
  position:relative;
  padding:6px 0!important;
  border-radius:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.92)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
}
.home-wow-desktop-nav button::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-7px;
  height:2px;
  background:transparent;
  border-radius:999px;
}
.home-wow-desktop-nav button:hover{
  color:#fff6e2!important;
}
.home-wow-desktop-nav button.is-active::after{
  background:linear-gradient(90deg,#c89d40,#efd48c)!important;
}
.home-wow-desktop-nav button.is-active{
  color:#fff6e2!important;
}

.home-wow-monogram{
  appearance:none;
  -webkit-appearance:none;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(220,187,108,.65);
  background:rgba(10,35,28,.76);
  color:#f0ce79;
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:700;
  letter-spacing:.03em;
  box-shadow:0 18px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.home-wow-monogram:hover{
  transform:translateY(-1px);
  background:rgba(13,40,32,.88);
}

/* Hero content */
.home-wow-content{
  left:38px!important;
  bottom:42px!important;
  width:min(540px,calc(100% - 92px))!important;
  z-index:2!important;
}

.home-wow-intro>small{
  color:#e6bf67!important;
}
.home-wow-intro h2{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:63px!important;
  line-height:.93!important;
}
.home-wow-intro>p{
  color:rgba(255,255,255,.92)!important;
  font-size:18px!important;
}

.home-wow-event strong{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:28px!important;
}
.home-wow-event span{
  color:rgba(255,255,255,.90)!important;
}

/* CTA principal */
.home-wow-primary{
  width:min(470px,100%)!important;
  min-height:122px!important;
  padding:18px 18px!important;
  border-radius:24px!important;
  border:1px solid rgba(218,189,117,.46)!important;
  background:
    linear-gradient(145deg,rgba(15,55,44,.96),rgba(8,32,26,.96))!important;
  box-shadow:
    0 26px 54px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.home-wow-primary strong{
  font-family:Georgia,"Times New Roman",serif!important;
}
.home-wow-primary>b{
  color:#e8c26a!important;
}

/* Shortcuts desktop discretos e elegantes */
.home-wow-shortcuts{
  width:min(470px,100%)!important;
}
.home-wow-shortcuts>button{
  min-height:74px!important;
  border-radius:18px!important;
  background:rgba(8,30,24,.48)!important;
  border:1px solid rgba(216,185,110,.26)!important;
}
.home-wow-shortcuts strong{
  font-family:Georgia,"Times New Roman",serif!important;
}
.home-wow-shortcuts b{
  color:#deb965!important;
}

/* Assinatura manuscrita no canto inferior esquerdo */
.home-wow-mantra{
  display:block!important;
  margin-top:16px!important;
  color:#f1ddb2!important;
  font-family:"Brush Script MT","Snell Roundhand","Segoe Script",cursive!important;
  font-size:28px!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-shadow:0 10px 30px rgba(0,0,0,.24)!important;
}

/* Botão flutuante de fotografia no canto inferior direito (desktop) */
.home-wow-photo-action{
  position:absolute!important;
  right:30px!important;
  bottom:34px!important;
  top:auto!important;
  left:auto!important;
  z-index:4!important;
  min-height:52px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  border:1px solid rgba(214,181,112,.58)!important;
  background:rgba(255,249,238,.98)!important;
  color:#26473d!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:0 18px 36px rgba(18,14,8,.18)!important;
}
.home-wow-photo-action::before{
  content:"◌";
  margin-right:8px;
  color:#c69331;
  font-size:18px;
  line-height:1;
}

/* Empty state elegante, mantendo o verde da app */
.home-wow-empty{
  top:88px!important;
  left:auto!important;
  right:36px!important;
  transform:none!important;
  width:min(400px,calc(100% - 72px))!important;
  padding:28px 28px 30px!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,rgba(10,31,25,.28),rgba(6,17,14,.18))!important;
  border:1px solid rgba(216,185,110,.24)!important;
  box-shadow:none!important;
  text-align:left!important;
}
.home-wow-empty-logo{
  display:block;
  width:74px;
  height:74px;
  margin:0 0 18px!important;
  border-radius:999px;
  border:1px solid rgba(218,189,117,.52);
  background:rgba(13,39,31,.48);
  display:grid!important;
  place-items:center!important;
}
.home-wow-empty-logo img{
  width:34px!important;
  height:34px!important;
  object-fit:contain!important;
}
.home-wow-empty strong{
  max-width:none!important;
  margin:0!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:44px!important;
  line-height:.98!important;
}
.home-wow-empty small{
  max-width:340px!important;
  margin:14px 0 0!important;
  color:rgba(255,255,255,.80)!important;
  font-size:15px!important;
  line-height:1.52!important;
}

/* Rodapé interno do hero */
.home-wow-footerline{
  left:24px!important;
  right:24px!important;
  bottom:18px!important;
  align-items:flex-end!important;
  z-index:2!important;
}
.home-wow-footerline>span{
  color:#efddbb!important;
  font-family:"Brush Script MT","Snell Roundhand","Segoe Script",cursive!important;
  font-size:26px!important;
  letter-spacing:0!important;
  text-transform:none!important;
  opacity:.94!important;
}
.home-wow-install-link{
  padding:5px 10px!important;
  background:rgba(255,248,237,.10)!important;
}

/* Ajustes mobile para ficar próximo do mockup */
@media(max-width:760px){
  .home-wow-hero{
    min-height:720px!important;
    border-radius:24px!important;
  }

  .home-wow-topbar{
    top:12px!important;
    left:12px!important;
    right:12px!important;
    grid-template-columns:1fr auto!important;
    gap:10px!important;
  }

  .home-wow-brand{
    position:absolute!important;
    left:50%!important;
    top:3px!important;
    transform:translateX(-50%)!important;
    width:142px!important;
    min-width:142px!important;
    height:32px!important;
    background-position:center center!important;
    justify-self:center!important;
  }

  .home-wow-monogram{
    width:40px!important;
    height:40px!important;
    font-size:13px!important;
    justify-self:end!important;
  }

  .home-wow-photo-action{
    right:18px!important;
    bottom:auto!important;
    top:164px!important;
    min-height:38px!important;
    padding:0 14px!important;
    font-size:11px!important;
    box-shadow:0 12px 24px rgba(18,14,8,.16)!important;
  }
  .home-wow-photo-action::before{
    font-size:14px;
  }

  .home-wow-empty{
    top:92px!important;
    right:14px!important;
    left:14px!important;
    width:auto!important;
    padding:12px 0 0 16px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    text-align:left!important;
  }
  .home-wow-empty::before{
    content:"";
    position:absolute;
    left:0;
    top:2px;
    bottom:-6px;
    width:2px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(220,187,108,.78),rgba(220,187,108,0));
  }
  .home-wow-empty-logo{
    width:72px;
    height:72px;
    margin:0 0 16px!important;
  }
  .home-wow-empty strong{
    font-size:22px!important;
    line-height:1.02!important;
    max-width:220px!important;
  }
  .home-wow-empty small{
    max-width:240px!important;
    font-size:12px!important;
    line-height:1.45!important;
    margin-top:10px!important;
  }

  .home-wow-content{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    bottom:34px!important;
  }

  .home-wow-intro{
    margin-top:128px!important;
  }

  .home-wow-intro h2{
    font-size:25px!important;
    line-height:.97!important;
  }
  .home-wow-intro>p{
    font-size:13px!important;
  }

  .home-wow-event{
    margin:12px 0 10px!important;
  }
  .home-wow-event strong{
    font-size:18px!important;
  }
  .home-wow-event span{
    font-size:13px!important;
  }

  .home-wow-primary{
    width:100%!important;
    min-height:86px!important;
    border-radius:18px!important;
    padding:12px 14px!important;
  }
  .home-wow-primary strong{
    font-size:16px!important;
  }

  .home-wow-shortcuts{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  .home-wow-shortcuts>button{
    background:linear-gradient(180deg,#fffaf1,#f5ede0)!important;
    border:1px solid rgba(214,190,143,.54)!important;
  }

  .home-wow-mantra{
    display:none!important;
  }

  .home-wow-footerline{
    left:14px!important;
    right:14px!important;
    bottom:10px!important;
  }
  .home-wow-footerline>span{
    display:none!important;
  }
  .home-wow-install-link{
    margin-left:auto!important;
    padding:4px 8px!important;
  }

  /* No mobile sem foto, o CTA de fotografia fica dentro do fluxo visual */
  .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    top:352px!important;
    left:22px!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
  }
  .home-wow-hero:not(.has-personal-photo) .home-wow-intro{
    margin-top:248px!important;
  }

  /* Com foto, o botão fica por cima da imagem como no mockup */
  .home-wow-hero.has-personal-photo .home-wow-empty{
    display:none!important;
  }
  .home-wow-hero.has-personal-photo .home-wow-intro{
    margin-top:0!important;
  }

  .home-wow-status{
    width:calc(100% - 22px)!important;
    margin:-10px auto 0!important;
  }
}

/* Desktop sem foto: CTA no corpo do hero e texto mais equilibrado */
@media(min-width:761px){
  .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:auto!important;
    left:36px!important;
    bottom:44px!important;
  }
  .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    bottom:32px!important;
  }
}


/* ============================================================
   TESTE 68 · HOME FULL GREEN — IGUAL À LÓGICA DO MOCKUP
   - Remove o cabeçalho branco externo na Home
   - Remove a barra inferior no desktop da Home
   - Remove o cartão de progresso externo da Home
   - O verde/fotografia ocupa toda a área da app
   - Mantém bottom nav no mobile, como no mockup
   ============================================================ */

/* HOME: o próprio ecrã passa a ser o hero */
.phone-shell:has(.view[data-view="home"].active){
  background:#082920!important;
}

.main-screen:has(.view[data-view="home"].active){
  padding-bottom:0!important;
  background:#082920!important;
}

.main-screen:has(.view[data-view="home"].active) .app-header{
  display:none!important;
}

main:has(> .view[data-view="home"].active){
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#082920!important;
  height:100%!important;
  min-height:100%!important;
}

.view[data-view="home"].active{
  display:block!important;
  padding:0!important;
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  background:#082920!important;
}

.view[data-view="home"] .profile-completion-prompt{
  position:absolute!important;
  z-index:12!important;
  top:14px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(760px,calc(100% - 30px))!important;
  margin:0!important;
}

/* HERO deixa de ser um cartão dentro de uma página branca */
.view[data-view="home"] .home-wow-hero{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:
    radial-gradient(circle at 74% 20%,rgba(211,175,96,.12),transparent 24%),
    linear-gradient(145deg,#082920 0%,#123e32 56%,#071e18 100%)!important;
}

/* A fotografia cobre a app toda */
.view[data-view="home"] .home-wow-photo,
.view[data-view="home"] .home-wow-photo img,
.view[data-view="home"] .home-wow-shade{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

.view[data-view="home"] .home-wow-photo img{
  object-fit:cover!important;
  object-position:center center!important;
}

/* Logo Moment Pro correto e legível */
.view[data-view="home"] .home-wow-brand{
  width:184px!important;
  min-width:184px!important;
  height:46px!important;
  background:url('assets/momentpro-logo-official.svg') no-repeat left center / contain!important;
}

/* Desktop: composição realmente igual à referência */
@media(min-width:761px){
  .phone-shell:has(.view[data-view="home"].active){
    border-radius:34px!important;
  }

  .screen.main-screen.active:has(.view[data-view="home"].active){
    display:block!important;
    height:100%!important;
  }

  /* SEM barra inferior no desktop da HOME */
  .main-screen:has(.view[data-view="home"].active) .bottom-nav{
    display:none!important;
  }

  /* SEM cartão de progresso debaixo do hero */
  .view[data-view="home"] .home-wow-status{
    display:none!important;
  }

  .view[data-view="home"] .home-wow-hero{
    min-height:calc(100vh - 48px)!important;
  }

  .view[data-view="home"] .home-wow-topbar{
    top:28px!important;
    left:46px!important;
    right:46px!important;
    grid-template-columns:190px 1fr 54px!important;
    gap:28px!important;
  }

  .view[data-view="home"] .home-wow-desktop-nav{
    justify-content:flex-start!important;
    gap:26px!important;
  }

  .view[data-view="home"] .home-wow-desktop-nav button{
    color:rgba(255,255,255,.92)!important;
    font-size:13px!important;
    padding:7px 0!important;
  }

  .view[data-view="home"] .home-wow-monogram{
    width:54px!important;
    height:54px!important;
  }

  .view[data-view="home"] .home-wow-content{
    left:58px!important;
    bottom:66px!important;
    width:min(560px,48%)!important;
  }

  .view[data-view="home"] .home-wow-intro h2{
    font-size:66px!important;
  }

  .view[data-view="home"] .home-wow-primary{
    width:min(540px,100%)!important;
  }

  .view[data-view="home"] .home-wow-shortcuts{
    width:min(540px,100%)!important;
  }

  .view[data-view="home"] .home-wow-mantra{
    margin-top:18px!important;
    font-size:30px!important;
  }

  /* Botão de foto como no mockup, canto inferior direito */
  .view[data-view="home"] .home-wow-photo-action{
    right:54px!important;
    bottom:58px!important;
    top:auto!important;
    left:auto!important;
    min-height:54px!important;
    padding:0 24px!important;
  }

  .view[data-view="home"] .home-wow-footerline{
    left:58px!important;
    right:54px!important;
    bottom:22px!important;
  }

  /* Evitar assinatura duplicada: a assinatura principal é a do conteúdo */
  .view[data-view="home"] .home-wow-footerline>span{
    display:none!important;
  }

  /* Instalar app extremamente discreto */
  .view[data-view="home"] .home-wow-install-link{
    margin-left:auto!important;
    opacity:.65!important;
  }

  /* Sem foto: continua tudo verde e completo */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:50%!important;
    right:7%!important;
    left:auto!important;
    transform:translateY(-50%)!important;
    width:min(430px,38%)!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:7%!important;
    bottom:15%!important;
    left:auto!important;
  }
}

/* MOBILE: mantém a barra inferior creme como no mockup,
   mas o verde ocupa todo o resto, sem header branco externo. */
@media(max-width:760px){
  .main-screen:has(.view[data-view="home"].active){
    padding-bottom:72px!important;
  }

  main:has(> .view[data-view="home"].active){
    height:calc(100dvh - 72px)!important;
    min-height:calc(100dvh - 72px)!important;
  }

  .view[data-view="home"] .home-wow-hero{
    min-height:calc(100dvh - 72px)!important;
    height:calc(100dvh - 72px)!important;
    border-radius:0!important;
  }

  .view[data-view="home"] .home-wow-status{
    display:none!important;
  }

  .view[data-view="home"] .home-wow-topbar{
    top:14px!important;
    left:14px!important;
    right:14px!important;
  }

  .view[data-view="home"] .home-wow-brand{
    width:146px!important;
    min-width:146px!important;
    height:34px!important;
    background-position:center center!important;
  }

  .view[data-view="home"] .home-wow-monogram{
    width:40px!important;
    height:40px!important;
  }

  .view[data-view="home"] .home-wow-content{
    left:14px!important;
    right:14px!important;
    bottom:24px!important;
    width:auto!important;
  }

  .view[data-view="home"] .home-wow-photo-action{
    right:18px!important;
    top:150px!important;
    bottom:auto!important;
  }

  .view[data-view="home"] .home-wow-shortcuts>button{
    background:linear-gradient(180deg,#fffaf1,#f5ede0)!important;
    color:#20372f!important;
  }

  .view[data-view="home"] .home-wow-shortcuts strong{
    color:#20372f!important;
  }

  .view[data-view="home"] .home-wow-shortcuts small{
    color:#7f7569!important;
  }

  .view[data-view="home"] .home-wow-shortcut-icon{
    background:#fff!important;
    color:#b98d35!important;
  }

  /* No-photo mobile: green full screen, logo e mensagem no verde */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:88px!important;
    left:20px!important;
    right:20px!important;
    width:auto!important;
    transform:none!important;
    text-align:left!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    top:326px!important;
    left:22px!important;
    right:auto!important;
  }
}


/* ============================================================
   TESTE 69 · POLIMENTO OHHHH / AJUSTES PEDIDOS
   1) logo esquerdo mais centrado no pill
   2) separador ativo com barra dourada
   3) MP com monograma oficial
   4) alterar fotografia mais pequeno
   5) instalar app acima do botão foto e mais visível
   6) assinatura com lettering tipo protótipo
   ============================================================ */

/* 1) Logo/pill esquerdo mais centrado */
.view[data-view="home"] .home-wow-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0 22px!important;
  min-width:178px!important;
  width:178px!important;
  background:rgba(7,24,18,.52)!important;
  border:1px solid rgba(220,186,106,.34)!important;
  color:#efcc72!important;
  letter-spacing:2.4px!important;
  line-height:1!important;
}

/* 2) Separadores com barra dourada no ativo, sem pill pesado */
.view[data-view="home"] .home-wow-desktop-nav{
  gap:28px!important;
}
.view[data-view="home"] .home-wow-desktop-nav button{
  position:relative!important;
  padding:7px 0 14px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(255,255,255,.92)!important;
}
.view[data-view="home"] .home-wow-desktop-nav button:hover{
  background:transparent!important;
  transform:none!important;
  color:#fff8e8!important;
}
.view[data-view="home"] .home-wow-desktop-nav button::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:2px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#d2b166,#f0d48c);
  opacity:0;
  transition:width .22s ease, opacity .22s ease;
}
.view[data-view="home"] .home-wow-desktop-nav button.is-active::after,
.view[data-view="home"] .home-wow-desktop-nav button:hover::after{
  width:26px;
  opacity:1;
}

/* 3) Monograma oficial */
.view[data-view="home"] .home-wow-monogram{
  color:transparent!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  background:
    rgba(10,35,28,.78)
    url('assets/mp-final-white-gold.svg') no-repeat center center / 54%!important;
  border:1px solid rgba(220,187,108,.68)!important;
}

/* 4) Botão alterar fotografia mais pequeno */
.view[data-view="home"] .home-wow-photo-action{
  min-height:38px!important;
  padding:0 16px!important;
  font-size:11px!important;
  border-radius:999px!important;
}

/* 5) Instalar app: acima do botão fotografia e mais visível */
.view[data-view="home"] .home-wow-footerline{
  pointer-events:none!important;
}
.view[data-view="home"] .home-wow-footerline .home-wow-install-link{
  pointer-events:auto!important;
}
@media(min-width:761px){
  .view[data-view="home"] .home-wow-photo-action{
    right:56px!important;
    bottom:34px!important;
  }
  .view[data-view="home"] .home-wow-install-link{
    position:absolute!important;
    right:56px!important;
    bottom:84px!important;
    padding:7px 12px!important;
    gap:7px!important;
    border-radius:999px!important;
    background:rgba(255,248,237,.22)!important;
    border:1px solid rgba(220,187,108,.32)!important;
    backdrop-filter:blur(10px)!important;
    box-shadow:0 14px 28px rgba(0,0,0,.14)!important;
    opacity:.95!important;
  }
  .view[data-view="home"] .home-wow-install-link>span{
    font-size:13px!important;
  }
  .view[data-view="home"] .home-wow-install-link>strong{
    font-size:9px!important;
    color:#fff6e7!important;
  }
  .view[data-view="home"] .home-wow-install-link>small{
    font-size:7px!important;
    color:rgba(255,255,255,.68)!important;
  }
}

/* 6) Frase manuscrita mais próxima do protótipo */
.view[data-view="home"] .home-wow-mantra{
  font-family:"Snell Roundhand","Apple Chancery","Brush Script MT","Segoe Script",cursive!important;
  font-style:normal!important;
  font-weight:500!important;
  font-size:23px!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  color:#f0dfb3!important;
  text-shadow:0 6px 18px rgba(0,0,0,.16)!important;
}

/* pequenos acertos mobile para manter coerência */
@media(max-width:760px){
  .view[data-view="home"] .home-wow-brand{
    width:158px!important;
    min-width:158px!important;
    padding:0 14px!important;
    letter-spacing:1.6px!important;
  }
  .view[data-view="home"] .home-wow-monogram{
    background-size:52%!important;
  }
  .view[data-view="home"] .home-wow-photo-action{
    min-height:34px!important;
    padding:0 12px!important;
    font-size:10px!important;
  }
  .view[data-view="home"] .home-wow-mantra{
    font-size:16px!important;
  }
}


/* ============================================================
   TESTE 70 · FECHO VISUAL FINAL
   Corrige pontos marcados nas capturas:
   - logo em desktop/mobile e no estado sem foto
   - botão fotografia menor e melhor posicionado
   - instalar app sem sobreposição
   - alinhamento desktop/right cluster
   - assinatura mais próxima do protótipo
   ============================================================ */

/* base hero */
.view[data-view="home"] .home-wow-hero{
  overflow:hidden!important;
}

/* LOGO sempre visível, usando asset existente */
.view[data-view="home"] .home-wow-brand{
  position:relative!important;
  display:block!important;
  width:170px!important;
  min-width:170px!important;
  height:40px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  text-indent:-9999px!important;
  white-space:nowrap!important;
  background:rgba(8,33,27,.58)!important;
  border:1px solid rgba(214,182,114,.40)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.view[data-view="home"] .home-wow-brand::before{
  content:"";
  position:absolute;
  inset:7px 16px;
  background:url('assets/mp-final-white-gold.svg') no-repeat center center / contain;
}

/* separadores desktop mais finos, com barra dourada */
@media(min-width:761px){
  .view[data-view="home"] .home-wow-topbar{
    top:26px!important;
    left:40px!important;
    right:40px!important;
    grid-template-columns:170px 1fr 50px!important;
    gap:26px!important;
  }
  .view[data-view="home"] .home-wow-desktop-nav{
    gap:24px!important;
    align-items:center!important;
    padding-left:0!important;
  }
  .view[data-view="home"] .home-wow-desktop-nav button{
    font-size:13px!important;
    padding:7px 0 13px!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .view[data-view="home"] .home-wow-desktop-nav button::after{
    left:50%!important;
    right:auto!important;
    width:24px!important;
    transform:translateX(-50%)!important;
    bottom:3px!important;
    background:transparent!important;
  }
  .view[data-view="home"] .home-wow-desktop-nav button.is-active::after{
    background:linear-gradient(90deg,#c79d43,#efd48e)!important;
  }
}

/* monograma oficial melhor centrado */
.view[data-view="home"] .home-wow-monogram{
  position:relative!important;
  color:transparent!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  background:rgba(10,35,28,.78)!important;
  border:1px solid rgba(220,187,108,.66)!important;
}
.view[data-view="home"] .home-wow-monogram::before{
  content:"";
  position:absolute;
  inset:11px;
  background:url('assets/mp-final-white-gold.svg') no-repeat center center / contain;
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-monogram::before{ inset:9px; }
}

/* assinatura como a preferida */
.view[data-view="home"] .home-wow-mantra{
  font-family:"Snell Roundhand","Apple Chancery","Brush Script MT","Segoe Script",cursive!important;
  font-size:29px!important;
  line-height:1!important;
  letter-spacing:0!important;
  color:#f3dfb4!important;
  text-shadow:0 8px 26px rgba(0,0,0,.22)!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.view[data-view="home"] .home-wow-mantra::after{
  content:"";
  display:block;
  width:56px;
  height:1px;
  background:linear-gradient(90deg,rgba(232,198,120,.82),rgba(232,198,120,0));
  transform:translateY(2px);
}

/* ícone fotográfico mais elegante */
.view[data-view="home"] .home-wow-photo-action::before{
  content:""!important;
  display:inline-block!important;
  width:15px!important;
  height:15px!important;
  margin-right:8px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23c79633' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h3l2-2h6l2 2h3a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2z'/%3E%3Ccircle cx='12' cy='13' r='3.2'/%3E%3C/svg%3E") no-repeat center center / contain!important;
  vertical-align:middle!important;
}

/* DESKTOP com foto */
@media(min-width:761px){
  .view[data-view="home"] .home-wow-content{
    left:50px!important;
    bottom:62px!important;
    width:min(560px,47%)!important;
  }
  .view[data-view="home"] .home-wow-photo-action{
    right:46px!important;
    bottom:42px!important;
    min-height:44px!important;
    padding:0 18px!important;
    font-size:12px!important;
    border-radius:999px!important;
  }
  .view[data-view="home"] .home-wow-install-link{
    position:absolute!important;
    right:46px!important;
    bottom:94px!important;
    margin:0!important;
    padding:6px 12px!important;
    border-radius:999px!important;
    background:rgba(11,34,28,.32)!important;
    border:1px solid rgba(214,182,114,.26)!important;
    backdrop-filter:blur(8px)!important;
    opacity:.92!important;
  }
  .view[data-view="home"] .home-wow-install-link>span{font-size:11px!important;}
  .view[data-view="home"] .home-wow-install-link>strong{font-size:8px!important;color:#f6ecd8!important;}
  .view[data-view="home"] .home-wow-install-link>small{font-size:6px!important;color:rgba(255,255,255,.70)!important;}
}

/* DESKTOP sem foto: bloco da direita mais arrumado */
@media(min-width:761px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:50%!important;
    right:7%!important;
    transform:translateY(-56%)!important;
    width:min(380px,35%)!important;
    padding:26px 24px 24px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:7%!important;
    left:auto!important;
    bottom:70px!important;
    min-height:44px!important;
    padding:0 18px!important;
    font-size:12px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:7%!important;
    bottom:28px!important;
  }
}

/* MOBILE com e sem foto */
@media(max-width:760px){
  .view[data-view="home"] .home-wow-topbar{
    top:12px!important;
    left:12px!important;
    right:12px!important;
  }
  .view[data-view="home"] .home-wow-brand{
    width:136px!important;
    min-width:136px!important;
    height:30px!important;
    margin:0 auto!important;
  }
  .view[data-view="home"] .home-wow-brand::before{
    inset:6px 12px!important;
  }
  .view[data-view="home"] .home-wow-content{
    left:12px!important;
    right:12px!important;
    bottom:78px!important;
  }
  .view[data-view="home"] .home-wow-photo-action{
    top:114px!important;
    right:16px!important;
    left:auto!important;
    bottom:auto!important;
    min-height:34px!important;
    padding:0 12px!important;
    font-size:10px!important;
    border-radius:999px!important;
  }
  .view[data-view="home"] .home-wow-photo-action::before{
    width:13px!important;
    height:13px!important;
    margin-right:6px!important;
  }
  .view[data-view="home"] .home-wow-install-link{
    position:absolute!important;
    right:16px!important;
    bottom:68px!important;
    margin:0!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    background:rgba(11,34,28,.34)!important;
    border:1px solid rgba(214,182,114,.22)!important;
    z-index:4!important;
  }
  .view[data-view="home"] .home-wow-install-link>span{font-size:10px!important;}
  .view[data-view="home"] .home-wow-install-link>strong{font-size:7px!important;color:#f6ecd8!important;}
  .view[data-view="home"] .home-wow-install-link>small{font-size:5.5px!important;color:rgba(255,255,255,.70)!important;}

  .view[data-view="home"] .home-wow-intro{margin-top:0!important;}
  .view[data-view="home"] .home-wow-intro h2{font-size:24px!important;}
  .view[data-view="home"] .home-wow-event strong{font-size:17px!important;}

  /* quando não existe foto: evitar tudo sobreposto */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:110px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    padding:0 0 0 14px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo{
    width:58px!important;
    height:58px!important;
    margin:0 0 12px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    max-width:240px!important;
    font-size:20px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    max-width:250px!important;
    font-size:11px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    top:auto!important;
    right:18px!important;
    bottom:126px!important;
    left:auto!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:18px!important;
    bottom:88px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    bottom:146px!important;
  }

  /* prompt de perfil incompleto fica compacto e deixa respirar o layout */
  .view[data-view="home"] .profile-completion-prompt{
    width:calc(100% - 20px)!important;
    top:8px!important;
    padding:12px 14px!important;
    border-radius:18px!important;
  }
  .view[data-view="home"] .profile-completion-prompt h3{
    font-size:12px!important;
    line-height:1.18!important;
  }
  .view[data-view="home"] .profile-completion-prompt p{
    font-size:9px!important;
    line-height:1.35!important;
  }
}

/* PC frase mais próxima do protótipo recortado */
@media(min-width:761px){
  .view[data-view="home"] .home-wow-mantra{
    font-size:26px!important;
  }
}


/* ============================================================
   TESTE 71 · CORREÇÕES FINAIS PEDIDAS NAS CAPTURAS
   - logo MOMENT PRO completo (não monograma) no pill principal
   - empty state com wordmark completo
   - botão fotografia menor
   - instalar app reposicionado junto do botão foto
   - assinatura manuscrita mais elegante
   - mobile e desktop sem sobreposições
   ============================================================ */

/* 1) LOGO PRINCIPAL COMPLETO */
.view[data-view="home"] .home-wow-brand{
  background:linear-gradient(180deg,rgba(10,35,28,.46),rgba(10,35,28,.30))!important;
  border:1px solid rgba(214,182,114,.34)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
  color:transparent!important;
  font-size:0!important;
  text-indent:0!important;
  overflow:hidden!important;
}
.view[data-view="home"] .home-wow-brand::before{
  content:"MOMENTPRO"!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  top:7px!important;
  color:#f1dfba!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:300!important;
  letter-spacing:2.3px!important;
  line-height:1!important;
  text-align:left!important;
  background:none!important;
}
.view[data-view="home"] .home-wow-brand::after{
  content:"PRIVATE EXPERIENCE"!important;
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  top:23px!important;
  color:rgba(245,235,220,.72)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:6px!important;
  font-weight:500!important;
  letter-spacing:2.5px!important;
  text-align:left!important;
  text-indent:0!important;
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-brand{
    width:148px!important;
    min-width:148px!important;
    height:31px!important;
  }
  .view[data-view="home"] .home-wow-brand::before{
    left:14px!important;
    right:14px!important;
    top:6px!important;
    font-size:11px!important;
    letter-spacing:1.9px!important;
  }
  .view[data-view="home"] .home-wow-brand::after{
    left:14px!important;
    right:14px!important;
    top:20px!important;
    font-size:5.2px!important;
    letter-spacing:2.1px!important;
  }
}

/* 2) EMPTY STATE: usar logo completo e não apenas MP */
.view[data-view="home"] .home-wow-empty-logo{
  position:relative!important;
  width:156px!important;
  height:34px!important;
  margin:0 0 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(218,189,117,.40)!important;
  background:linear-gradient(180deg,rgba(10,35,28,.34),rgba(10,35,28,.22))!important;
  box-shadow:none!important;
}
.view[data-view="home"] .home-wow-empty-logo img{display:none!important;}
.view[data-view="home"] .home-wow-empty-logo::before{
  content:"MOMENTPRO";
  position:absolute;
  left:14px; right:14px; top:7px;
  color:#f1dfba;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-weight:300;
  letter-spacing:2.1px;
  line-height:1;
}
.view[data-view="home"] .home-wow-empty-logo::after{
  content:"PRIVATE EXPERIENCE";
  position:absolute;
  left:14px; right:14px; top:20px;
  color:rgba(245,235,220,.72);
  font-family:Arial,Helvetica,sans-serif;
  font-size:5px;
  font-weight:500;
  letter-spacing:2px;
  line-height:1;
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-empty-logo{
    width:138px!important;
    height:30px!important;
  }
  .view[data-view="home"] .home-wow-empty-logo::before{top:6px;font-size:10px;letter-spacing:1.7px;}
  .view[data-view="home"] .home-wow-empty-logo::after{top:18px;font-size:4.6px;letter-spacing:1.7px;}
}

/* 3) assinatura mais próxima da referência */
.view[data-view="home"] .home-wow-mantra{
  font-family:"Savoye LET","Snell Roundhand","Apple Chancery","Brush Script MT",cursive!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:34px!important;
  line-height:.92!important;
  letter-spacing:0!important;
  color:#f4dfb6!important;
  text-shadow:0 5px 16px rgba(0,0,0,.14)!important;
  transform:translateY(2px)!important;
  gap:12px!important;
}
.view[data-view="home"] .home-wow-mantra::after{
  width:64px!important;
  height:1px!important;
  opacity:.75!important;
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-mantra{
    font-size:24px!important;
    line-height:.9!important;
    margin-top:2px!important;
  }
  .view[data-view="home"] .home-wow-mantra::after{
    width:38px!important;
  }
}

/* 4) botão fotografia mais pequeno e elegante */
.view[data-view="home"] .home-wow-photo-action{
  min-height:40px!important;
  padding:0 14px!important;
  font-size:11px!important;
  border-radius:999px!important;
  gap:0!important;
}
.view[data-view="home"] .home-wow-photo-action::before{
  width:14px!important;
  height:14px!important;
  margin-right:7px!important;
}
@media(min-width:761px){
  .view[data-view="home"] .home-wow-photo-action{
    right:50px!important;
    bottom:28px!important;
  }
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-photo-action{
    top:106px!important;
    right:14px!important;
    bottom:auto!important;
    min-height:32px!important;
    padding:0 11px!important;
    font-size:9.5px!important;
  }
}

/* 5) Instalar app melhor relacionado com carregar foto */
.view[data-view="home"] .home-wow-footerline{
  pointer-events:none!important;
}
.view[data-view="home"] .home-wow-footerline .home-wow-install-link{
  pointer-events:auto!important;
}
@media(min-width:761px){
  .view[data-view="home"] .home-wow-install-link{
    position:absolute!important;
    right:50px!important;
    bottom:74px!important;
    margin:0!important;
    padding:6px 11px!important;
    gap:6px!important;
    border-radius:999px!important;
    background:rgba(10,35,28,.42)!important;
    border:1px solid rgba(218,189,117,.22)!important;
    box-shadow:0 10px 22px rgba(0,0,0,.10)!important;
    opacity:.94!important;
  }
  .view[data-view="home"] .home-wow-install-link>span{font-size:11px!important;}
  .view[data-view="home"] .home-wow-install-link>strong{font-size:8.5px!important;}
  .view[data-view="home"] .home-wow-install-link>small{font-size:6px!important;}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:8%!important;
    bottom:58px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:8%!important;
    bottom:106px!important;
  }
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-install-link{
    position:absolute!important;
    right:16px!important;
    top:146px!important;
    bottom:auto!important;
    margin:0!important;
    padding:4px 8px!important;
    border-radius:999px!important;
    background:rgba(10,35,28,.50)!important;
    border:1px solid rgba(218,189,117,.20)!important;
    z-index:4!important;
  }
  .view[data-view="home"] .home-wow-install-link>span{font-size:9px!important;}
  .view[data-view="home"] .home-wow-install-link>strong{font-size:6.8px!important;}
  .view[data-view="home"] .home-wow-install-link>small{font-size:5.4px!important;}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    top:auto!important;
    bottom:84px!important;
    right:18px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    top:auto!important;
    bottom:116px!important;
    right:18px!important;
  }
}

/* 6) estado sem foto: respirar melhor, sem elementos colados */
@media(min-width:761px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:50%!important;
    right:7.5%!important;
    transform:translateY(-54%)!important;
    width:min(360px,32%)!important;
    padding:22px 22px 20px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    font-size:32px!important;
    line-height:.98!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    font-size:13px!important;
    line-height:1.55!important;
  }
}
@media(max-width:760px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:122px!important;
    left:18px!important;
    right:18px!important;
    padding:0 0 0 14px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    bottom:150px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    max-width:220px!important;
    font-size:18px!important;
    line-height:.98!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    max-width:220px!important;
    font-size:10.5px!important;
    line-height:1.42!important;
  }
}


/* ============================================================
   TESTE 72 · CORREÇÃO FINA FINAL SEGUNDO CAPTURAS MARCADAS
   - repor logo original oficial no topo
   - logo mobile alinhado à esquerda
   - bloco mobile com foto um pouco mais baixo
   - botão fotografia menor e instalar app com mais destaque
   - empty state com monograma MP visível
   - assinatura e espaçamentos corrigidos
   ============================================================ */

/* LOGO ORIGINAL OFICIAL */
.view[data-view="home"] .home-wow-brand{
  background:url('assets/mp-final-white-gold.svg') no-repeat left center / contain!important;
  width:176px!important;
  min-width:176px!important;
  height:42px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:transparent!important;
  font-size:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
.view[data-view="home"] .home-wow-brand::before,
.view[data-view="home"] .home-wow-brand::after{
  content:none!important;
  display:none!important;
}

/* EMPTY STATE com MP visível */
.view[data-view="home"] .home-wow-empty-logo{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:66px!important;
  height:66px!important;
  margin:0 0 16px!important;
  border-radius:999px!important;
  border:1px solid rgba(218,189,117,.42)!important;
  background:rgba(10,35,28,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
.view[data-view="home"] .home-wow-empty-logo img{display:none!important;}
.view[data-view="home"] .home-wow-empty-logo::before{
  content:"MP"!important;
  color:#d7b058!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
  line-height:1!important;
}
.view[data-view="home"] .home-wow-empty-logo::after{content:none!important;display:none!important;}

/* assinatura melhor equilibrada */
.view[data-view="home"] .home-wow-mantra{
  display:block!important;
  font-family:"Brush Script MT","Snell Roundhand","Segoe Script",cursive!important;
  font-size:28px!important;
  line-height:1!important;
  color:#f2ddb1!important;
  text-shadow:0 8px 20px rgba(0,0,0,.16)!important;
  margin-top:14px!important;
}
.view[data-view="home"] .home-wow-mantra::after{
  width:56px!important;
  opacity:.72!important;
}

/* DESKTOP */
@media(min-width:761px){
  .view[data-view="home"] .home-wow-topbar{
    top:16px!important;
    left:24px!important;
    right:24px!important;
    grid-template-columns:auto 1fr auto!important;
  }

  .view[data-view="home"] .home-wow-photo-action{
    right:42px!important;
    bottom:22px!important;
    top:auto!important;
    left:auto!important;
    min-height:42px!important;
    padding:0 16px!important;
    font-size:12px!important;
    font-weight:800!important;
    border-radius:999px!important;
  }
  .view[data-view="home"] .home-wow-photo-action::before{
    margin-right:6px!important;
    font-size:14px!important;
  }

  .view[data-view="home"] .home-wow-install-link{
    position:absolute!important;
    right:42px!important;
    bottom:74px!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    background:rgba(8,30,24,.58)!important;
    border:1px solid rgba(218,189,117,.24)!important;
    box-shadow:0 12px 24px rgba(0,0,0,.08)!important;
    z-index:4!important;
  }
  .view[data-view="home"] .home-wow-install-link>span{font-size:12px!important;}
  .view[data-view="home"] .home-wow-install-link>strong{font-size:9px!important;color:#f1e1bf!important;}
  .view[data-view="home"] .home-wow-install-link>small{font-size:7px!important;color:rgba(255,255,255,.76)!important;}

  /* sem foto: organizar melhor painel e botões */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:88px!important;
    right:7.5%!important;
    width:min(350px,31%)!important;
    padding:22px 22px 20px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:7.5%!important;
    bottom:44px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:7.5%!important;
    bottom:96px!important;
  }
}

/* MOBILE */
@media(max-width:760px){
  .view[data-view="home"] .home-wow-topbar{
    top:12px!important;
    left:12px!important;
    right:12px!important;
    grid-template-columns:auto 1fr auto!important;
    gap:8px!important;
  }

  .view[data-view="home"] .home-wow-brand{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:start!important;
    margin:0!important;
    width:132px!important;
    min-width:132px!important;
    height:30px!important;
    background-position:left center!important;
  }

  .view[data-view="home"] .home-wow-monogram{
    width:38px!important;
    height:38px!important;
    font-size:13px!important;
  }

  /* conteúdo com foto ligeiramente mais abaixo */
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-content{
    left:12px!important;
    right:12px!important;
    bottom:14px!important;
    width:auto!important;
  }
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-intro{
    margin-top:0!important;
  }
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-shortcuts{
    margin-top:10px!important;
  }
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-mantra{
    display:block!important;
    font-size:18px!important;
    line-height:.98!important;
    margin-top:12px!important;
  }

  /* botão foto menor e alinhado */
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action{
    top:92px!important;
    right:12px!important;
    bottom:auto!important;
    left:auto!important;
    min-height:31px!important;
    padding:0 10px!important;
    font-size:9px!important;
    box-shadow:0 10px 18px rgba(18,14,8,.14)!important;
  }
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action::before{
    width:12px!important;
    height:12px!important;
    margin-right:5px!important;
    font-size:12px!important;
  }

  /* instalar app com mais destaque no mobile */
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link{
    position:absolute!important;
    right:12px!important;
    top:128px!important;
    bottom:auto!important;
    margin:0!important;
    padding:5px 9px!important;
    border-radius:999px!important;
    background:rgba(8,30,24,.64)!important;
    border:1px solid rgba(218,189,117,.28)!important;
    box-shadow:0 10px 18px rgba(0,0,0,.10)!important;
    z-index:4!important;
  }
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link>span{font-size:10px!important;}
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link>strong{font-size:8px!important;color:#f3e1bb!important;}
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link>small{font-size:6px!important;color:rgba(255,255,255,.78)!important;}

  /* sem foto: MP visível e sem sobreposição */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:106px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    padding:0 0 0 16px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo{
    width:54px!important;
    height:54px!important;
    margin:0 0 12px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo::before{
    font-size:16px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    max-width:236px!important;
    font-size:20px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    max-width:236px!important;
    font-size:11px!important;
    line-height:1.42!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    left:12px!important;
    right:12px!important;
    bottom:122px!important;
    width:auto!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-mantra{
    display:block!important;
    font-size:17px!important;
    margin-top:16px!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    top:auto!important;
    bottom:108px!important;
    right:18px!important;
    left:auto!important;
    min-height:30px!important;
    padding:0 10px!important;
    font-size:9px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:18px!important;
    bottom:74px!important;
    top:auto!important;
    margin:0!important;
    padding:5px 10px!important;
    border-radius:999px!important;
    background:rgba(8,30,24,.64)!important;
    border:1px solid rgba(218,189,117,.28)!important;
    box-shadow:0 10px 18px rgba(0,0,0,.10)!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{font-size:10px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{font-size:8px!important;color:#f3e1bb!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{font-size:6px!important;color:rgba(255,255,255,.78)!important;}
}


/* ============================================================
   TESTE 73 · FOCO EXCLUSIVO NO ESTADO SEM FOTO
   - mobile sem foto: logo MP alinhado e botões sem sobreposição
   - desktop sem foto: painel superior mais baixo, lettering mais fino
   - instalar app passa a ter mais destaque do que adicionar fotografia
   ============================================================ */

/* painel sem foto: texto mais fino e mais limpo */
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
  font-size:20px!important;
  line-height:1.06!important;
  font-weight:700!important;
  letter-spacing:-.015em!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
  font-size:11px!important;
  line-height:1.46!important;
  font-weight:500!important;
  color:rgba(255,255,255,.88)!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo{
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo::before{
  content:"MP"!important;
  position:static!important;
  transform:none!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  color:#d7b058!important;
}

/* instalar app = primário | foto = secundário */
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
  background:#f4ebdb!important;
  border:1px solid rgba(175,139,58,.28)!important;
  box-shadow:0 14px 28px rgba(23,14,8,.12)!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{
  color:#bc9440!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{
  color:#17382e!important;
  font-weight:900!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{
  color:rgba(23,56,46,.70)!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
  background:rgba(7,26,22,.54)!important;
  border:1px solid rgba(218,189,117,.22)!important;
  color:#f1dfb9!important;
  box-shadow:0 12px 24px rgba(0,0,0,.08)!important;
}

@media(min-width:761px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:132px!important;
    right:72px!important;
    width:min(300px,27%)!important;
    padding:18px 20px 16px!important;
    background:rgba(10,33,27,.16)!important;
    backdrop-filter:blur(3px)!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo{
    width:60px!important;
    height:60px!important;
    margin:0 0 12px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    max-width:240px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    max-width:248px!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:74px!important;
    bottom:74px!important;
    top:auto!important;
    padding:10px 16px!important;
    border-radius:999px!important;
    z-index:5!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{font-size:14px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{font-size:12px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{font-size:8px!important;}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:74px!important;
    bottom:24px!important;
    top:auto!important;
    min-height:34px!important;
    padding:0 13px!important;
    font-size:11px!important;
    border-radius:999px!important;
    z-index:5!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
    width:14px!important;
    height:14px!important;
    margin-right:6px!important;
    font-size:13px!important;
  }
}

@media(max-width:760px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:126px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    padding:0 8px 0 16px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo{
    width:54px!important;
    height:54px!important;
    margin:0 0 10px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    max-width:238px!important;
    font-size:19px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    max-width:238px!important;
    font-size:10.5px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-content{
    bottom:132px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-mantra{
    margin-top:22px!important;
    font-size:16px!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:18px!important;
    bottom:84px!important;
    top:auto!important;
    margin:0!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    z-index:5!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{font-size:11px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{font-size:8.8px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{font-size:6px!important;}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:18px!important;
    bottom:46px!important;
    top:auto!important;
    left:auto!important;
    min-height:28px!important;
    padding:0 10px!important;
    font-size:8.5px!important;
    border-radius:999px!important;
    z-index:5!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
    width:11px!important;
    height:11px!important;
    margin-right:5px!important;
    font-size:10px!important;
  }
}


/* ============================================================
   TESTE 74 · SEM FOTO ALINHADO FINAL
   - banner superior mais contido em mobile e desktop
   - logo MP original visível e alinhado
   - bloco "A vossa história..." mais abaixo no desktop
   - instalar app e adicionar fotografia centrados pelo mesmo eixo
   - instalar app com mais destaque do que adicionar fotografia
   ============================================================ */

/* Banner superior */
.view[data-view="home"] #profileCompletionPrompt{
  box-sizing:border-box!important;
  width:min(1240px, calc(100vw - 44px))!important;
  max-width:calc(100vw - 44px)!important;
  margin:0 auto 12px!important;
  padding:14px 18px!important;
  gap:16px!important;
  border-radius:22px!important;
}
.view[data-view="home"] #profileCompletionPrompt>span{min-width:0!important}
.view[data-view="home"] #profileCompletionPrompt small{font-size:8px!important;letter-spacing:2px!important}
.view[data-view="home"] #profileCompletionPrompt strong{font-size:15px!important;line-height:1.12!important}
.view[data-view="home"] #profileCompletionPrompt em{font-size:10.5px!important;line-height:1.45!important}
.view[data-view="home"] #profileCompletionPrompt>b{font-size:11px!important;padding:0 14px!important;min-height:36px!important;border-radius:999px!important}

/* Estado sem foto */
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo){overflow:hidden!important}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
  top:164px!important;
  right:72px!important;
}

/* Recuperar o logo MP original dentro do círculo */
.view[data-view="home"] .home-wow-empty-logo{
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.view[data-view="home"] .home-wow-empty-logo::before,
.view[data-view="home"] .home-wow-empty-logo::after{
  content:none!important;
  display:none!important;
}
.view[data-view="home"] .home-wow-empty-logo img{
  display:block!important;
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  opacity:1!important;
}

/* Botões do estado sem foto: eixo comum e mais destaque à app */
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link,
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
  left:auto!important;
  transform:none!important;
  z-index:8!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
  right:92px!important;
  bottom:86px!important;
  top:auto!important;
  width:174px!important;
  min-height:38px!important;
  padding:8px 15px!important;
  justify-content:center!important;
  gap:6px!important;
  border-radius:999px!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{
  font-size:12px!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{
  font-size:8px!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
  right:104px!important;
  bottom:40px!important;
  top:auto!important;
  width:150px!important;
  min-height:32px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  border-radius:999px!important;
}
.view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
  margin-right:6px!important;
}

@media(max-width:760px){
  .view[data-view="home"] #profileCompletionPrompt{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:0 auto 8px!important;
    padding:11px 12px 11px 13px!important;
    gap:10px!important;
    border-radius:18px!important;
  }
  .view[data-view="home"] #profileCompletionPrompt small{font-size:7px!important;letter-spacing:1.7px!important}
  .view[data-view="home"] #profileCompletionPrompt strong{font-size:12px!important;line-height:1.09!important}
  .view[data-view="home"] #profileCompletionPrompt em{font-size:9px!important;line-height:1.35!important}
  .view[data-view="home"] #profileCompletionPrompt>b{font-size:0!important; width:38px!important; min-width:38px!important; padding:0!important; justify-content:center!important}
  .view[data-view="home"] #profileCompletionPrompt>b i{margin:0!important}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:142px!important;
    left:22px!important;
    right:22px!important;
    width:auto!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo{
    width:52px!important;
    height:52px!important;
    margin:0 0 10px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty-logo img{
    width:24px!important;
    height:24px!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:20px!important;
    bottom:90px!important;
    width:126px!important;
    min-height:32px!important;
    padding:6px 10px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{font-size:10px!important}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{font-size:7.8px!important}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{font-size:5.5px!important}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:9px!important;
    bottom:50px!important;
    width:148px!important;
    min-height:30px!important;
    padding:0 10px!important;
    font-size:8.6px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
    width:11px!important;
    height:11px!important;
    margin-right:5px!important;
    font-size:10px!important;
  }
}


/* ============================================================
   TESTE 75 · SEM FOTO POLIMENTO FINAL
   - mobile: adicionar fotografia mais pequeno e alinhado com instalar app
   - desktop: banner mais contido / bloco vazio desce mais
   - desktop: botões alinhados pelo mesmo eixo, com destaque maior à app
   ============================================================ */

/* DESKTOP sem foto */
@media (min-width: 761px){
  .view[data-view="home"] #profileCompletionPrompt{
    width:min(1220px, calc(100vw - 48px))!important;
    max-width:calc(100vw - 48px)!important;
    padding:12px 18px!important;
    margin:0 auto 6px!important;
  }
  .view[data-view="home"] #profileCompletionPrompt strong{
    font-size:14px!important;
    line-height:1.08!important;
  }
  .view[data-view="home"] #profileCompletionPrompt em{
    font-size:10px!important;
    line-height:1.3!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:208px!important;
    right:82px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    font-size:31px!important;
    line-height:1.04!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    font-size:12px!important;
    line-height:1.55!important;
  }

  /* eixo comum dos botões à direita */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:88px!important;
    bottom:92px!important;
    width:176px!important;
    min-height:40px!important;
    padding:8px 16px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{font-size:12px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{font-size:9.5px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{font-size:6.8px!important;}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:104px!important; /* mantém o mesmo centro visual do botão da app */
    bottom:42px!important;
    width:144px!important;
    min-height:31px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
    width:12px!important;
    height:12px!important;
    margin-right:6px!important;
    font-size:12px!important;
  }
}

/* MOBILE sem foto */
@media (max-width: 760px){
  .view[data-view="home"] #profileCompletionPrompt{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    padding:10px 12px!important;
    margin:0 auto 6px!important;
  }
  .view[data-view="home"] #profileCompletionPrompt strong{font-size:11.5px!important;line-height:1.08!important}
  .view[data-view="home"] #profileCompletionPrompt em{font-size:8.6px!important;line-height:1.28!important}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:148px!important;
    left:24px!important;
    right:24px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    font-size:20px!important;
    line-height:1.06!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    font-size:8.6px!important;
    line-height:1.45!important;
  }

  /* mesmo centro visual para app e adicionar fotografia */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    right:20px!important;
    bottom:92px!important;
    width:124px!important;
    min-height:31px!important;
    padding:6px 10px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{font-size:10px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{font-size:7.8px!important;}
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{font-size:5.5px!important;}

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    right:28px!important; /* mesmo centro visual do botão da app */
    bottom:53px!important;
    width:108px!important;
    min-height:28px!important;
    padding:0 8px!important;
    font-size:7.8px!important;
  }
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
    width:10px!important;
    height:10px!important;
    margin-right:5px!important;
    font-size:9px!important;
  }
}


/* ============================================================
   TESTE 76 · APENAS DESKTOP SEM FOTO
   Correção cirúrgica do bloco “A vossa história...”:
   estava a subir por causa do translateY e ficava por trás do banner.
   Mobile não é alterado nesta versão.
   ============================================================ */
@media (min-width: 761px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty{
    top:178px!important;
    right:72px!important;
    transform:none!important;
    width:min(300px,27%)!important;
    padding:18px 20px 16px!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty strong{
    font-size:28px!important;
    line-height:1.02!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-empty small{
    font-size:11.5px!important;
    line-height:1.52!important;
  }
}

/* ============================================================
   TESTE 77 · DESKTOP SEM FOTO · ALINHAR BOTÕES
   - manter tamanhos
   - alinhar Instalar app e Adicionar fotografia pelo mesmo eixo
   - correção só no desktop sem foto
   ============================================================ */
@media (min-width: 761px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo){
    --empty-actions-center-x: calc(100% - 180px);
  }

  /* libertar o botão da app do rodapé para usar o mesmo referencial do botão da foto */
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-footerline{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    pointer-events:none!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-footerline>span{
    display:none!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    position:absolute!important;
    left:var(--empty-actions-center-x)!important;
    right:auto!important;
    top:auto!important;
    bottom:88px!important;
    transform:translateX(-50%)!important;
    width:174px!important;
    min-height:38px!important;
    padding:8px 15px!important;
    justify-content:center!important;
    gap:6px!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    left:var(--empty-actions-center-x)!important;
    right:auto!important;
    top:auto!important;
    bottom:40px!important;
    transform:translateX(-50%)!important;
    width:150px!important;
    min-height:32px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action:hover{
    transform:translateX(-50%) translateY(-1px)!important;
  }
}

/* TESTE 78 — cache fix + garantir alinhamento desktop sem foto */
@media (min-width:761px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link,
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    left:calc(100% - 180px)!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
}


/* ============================================================
   TESTE 80 · MOBILE SEM FOTO · ALINHAMENTO IGUAL AO DESKTOP
   - mantém todos os tamanhos da TESTE 79
   - alinha Instalar app e Adicionar fotografia no mesmo centro
   - não altera desktop nem lógica funcional
   ============================================================ */
@media (max-width:760px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo){
    --empty-mobile-actions-center-x: calc(100% - 83px);
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-footerline{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    pointer-events:none!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-footerline>span{
    display:none!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    position:absolute!important;
    left:var(--empty-mobile-actions-center-x)!important;
    right:auto!important;
    top:auto!important;
    bottom:90px!important;
    transform:translateX(-50%)!important;
    width:126px!important;
    min-height:32px!important;
    padding:6px 10px!important;
    justify-content:center!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    position:absolute!important;
    left:var(--empty-mobile-actions-center-x)!important;
    right:auto!important;
    top:auto!important;
    bottom:50px!important;
    transform:translateX(-50%)!important;
    width:148px!important;
    min-height:30px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action:hover{
    transform:translateX(-50%) translateY(-1px)!important;
  }
}


/* ============================================================
   TESTE 81 · MOBILE SEM FOTO · CORREÇÃO DOS 2 BOTÕES
   Só mobile sem foto.
   - Instalar app volta a ter largura suficiente para não cortar a seta/texto.
   - Adicionar fotografia volta a ficar pequeno.
   - Ambos ficam alinhados pelo mesmo centro visual.
   ============================================================ */
@media (max-width:760px){
  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link{
    position:absolute!important;
    left:auto!important;
    right:17px!important;
    top:auto!important;
    bottom:90px!important;
    transform:none!important;
    width:138px!important;
    min-width:138px!important;
    min-height:32px!important;
    padding:6px 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    overflow:visible!important;
    white-space:nowrap!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>span{
    flex:0 0 auto!important;
    font-size:10px!important;
    line-height:1!important;
    margin:0!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>strong{
    flex:0 0 auto!important;
    font-size:7.8px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-install-link>small{
    flex:0 0 auto!important;
    font-size:5.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action{
    position:absolute!important;
    left:auto!important;
    right:32px!important;
    top:auto!important;
    bottom:50px!important;
    transform:none!important;
    width:108px!important;
    min-width:108px!important;
    min-height:28px!important;
    padding:0 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:7.8px!important;
    white-space:nowrap!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action::before{
    width:10px!important;
    height:10px!important;
    margin-right:5px!important;
    flex:0 0 auto!important;
  }

  .view[data-view="home"] .home-wow-hero:not(.has-personal-photo) .home-wow-photo-action:hover{
    transform:translateY(-1px)!important;
  }
}


/* ============================================================
   TESTE 82 · COM FOTO · LOGO + BOTÕES
   Apenas o estado COM FOTO.
   - logo Moment Pro completo no topo em desktop e mobile
   - desktop: Instalar app e Alterar fotografia alinhados pelo mesmo centro
   - mobile: Alterar fotografia mais pequeno
   - sem mexer no estado SEM FOTO validado
   ============================================================ */

/* Logo completo aprovado — apenas quando existe fotografia */
.view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-brand{
  display:block!important;
  width:172px!important;
  min-width:172px!important;
  height:42px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:url('assets/momentpro-wordmark-approved.png') no-repeat left center / contain!important;
  box-shadow:none!important;
  color:transparent!important;
  font-size:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
.view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-brand::before,
.view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-brand::after{
  content:none!important;
  display:none!important;
}

/* DESKTOP COM FOTO — alinhar botões no mesmo eixo */
@media (min-width:761px){
  .view[data-view="home"] .home-wow-hero.has-personal-photo{
    --photo-actions-center-x: calc(100% - 126px);
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-footerline{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    pointer-events:none!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-footerline>span{
    display:none!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link{
    position:absolute!important;
    left:var(--photo-actions-center-x)!important;
    right:auto!important;
    top:auto!important;
    bottom:76px!important;
    transform:translateX(-50%)!important;
    width:164px!important;
    min-height:36px!important;
    padding:7px 12px!important;
    justify-content:center!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action{
    position:absolute!important;
    left:var(--photo-actions-center-x)!important;
    right:auto!important;
    top:auto!important;
    bottom:32px!important;
    transform:translateX(-50%)!important;
    width:132px!important;
    min-height:32px!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:10px!important;
    z-index:8!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action:hover{
    transform:translateX(-50%) translateY(-1px)!important;
  }
}

/* MOBILE COM FOTO — logo completo + botão foto menor */
@media (max-width:760px){
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-topbar{
    top:12px!important;
    left:12px!important;
    right:12px!important;
    grid-template-columns:auto 1fr auto!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-brand{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    justify-self:start!important;
    margin:0!important;
    width:126px!important;
    min-width:126px!important;
    height:30px!important;
    background-position:left center!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action{
    top:84px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:104px!important;
    min-width:104px!important;
    min-height:28px!important;
    padding:0 8px!important;
    font-size:8px!important;
    border-radius:999px!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action::before{
    width:10px!important;
    height:10px!important;
    margin-right:5px!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-photo-action:hover{
    transform:translateY(-1px)!important;
  }
}


/* ============================================================
   TESTE 88 · MOBILE COM FOTO · REPOR "INSTALAR APP"
   Alteração exclusivamente visual no estado mobile COM FOTO.
   Não mexe no desktop, no estado sem foto, nem nas funções já validadas.
   ============================================================ */
@media (max-width:760px){
  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-footerline{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    pointer-events:none!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-footerline>span{
    display:none!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    top:121px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:118px!important;
    min-width:118px!important;
    min-height:29px!important;
    padding:5px 8px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    border-radius:999px!important;
    background:rgba(9,31,25,.62)!important;
    border:1px solid rgba(218,189,117,.26)!important;
    box-shadow:0 8px 16px rgba(0,0,0,.10)!important;
    z-index:9!important;
    pointer-events:auto!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link>span{
    font-size:9px!important;
    line-height:1!important;
    flex:0 0 auto!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link>strong{
    font-size:7.2px!important;
    line-height:1!important;
    color:#f2dfb6!important;
    flex:0 0 auto!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link>small{
    font-size:5.1px!important;
    line-height:1!important;
    color:rgba(255,255,255,.72)!important;
    flex:0 0 auto!important;
  }

  .view[data-view="home"] .home-wow-hero.has-personal-photo .home-wow-install-link.installed{
    display:flex!important;
    opacity:.62!important;
  }
}


/* ============================================================
   TESTE 92 · NOTIFICAÇÕES VISÍVEIS EM QUALQUER PÁGINA
   - Badge numérico na barra superior do desktop.
   - Badge numérico na navegação inferior mobile.
   ============================================================ */

.view[data-view="home"] .home-wow-desktop-nav .home-desktop-notifications-btn{
  position:relative!important;
}

.desktop-notif-badge{
  position:absolute!important;
  top:-5px!important;
  right:-19px!important;
  min-width:17px!important;
  height:17px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  background:#d7b65e!important;
  color:#15372e!important;
  border:1px solid rgba(255,255,255,.42)!important;
  box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:0!important;
  opacity:0!important;
  transform:scale(.65)!important;
  transition:opacity .18s ease,transform .18s ease!important;
  pointer-events:none!important;
  z-index:20!important;
}

.desktop-notif-badge.show{
  opacity:1!important;
  transform:scale(1)!important;
}

/* O badge mobile passa de simples ponto a contador claro. */
.notifications-nav-btn .nav-notif-badge{
  width:auto!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  top:3px!important;
  left:calc(50% + 7px)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  color:#17372e!important;
  background:#d7b65e!important;
  box-shadow:0 0 0 2px var(--cream,#f6f1e8),0 3px 8px rgba(0,0,0,.14)!important;
}

@media (max-width:760px){
  .desktop-notif-badge{display:none!important;}
}


/* ============================================================
   TESTE 93 · NOTIFICAÇÕES EM TEMPO REAL NA HOME
   ============================================================ */

.home-wow-desktop-nav .home-desktop-notifications-btn{
  position:relative!important;
  overflow:visible!important;
}

.desktop-notif-badge{
  top:-7px!important;
  right:-10px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  background:#d9b64f!important;
  color:#102f27!important;
  box-shadow:0 0 0 2px rgba(13,37,30,.82),0 5px 14px rgba(0,0,0,.30)!important;
}

.desktop-notif-badge.show{
  animation:mpNotifPulse 1.8s ease-in-out infinite!important;
}

.home-notifications-shortcut{
  position:relative!important;
  overflow:visible!important;
}

.home-notif-badge{
  position:absolute!important;
  z-index:12!important;
  top:-8px!important;
  right:-8px!important;
  min-width:28px!important;
  height:22px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  display:grid!important;
  place-items:center!important;
  background:#d9b64f!important;
  color:#12382e!important;
  border:2px solid rgba(11,37,29,.92)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.28)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  opacity:0!important;
  transform:scale(.72)!important;
  pointer-events:none!important;
  transition:opacity .16s ease,transform .16s ease!important;
}

.home-notif-badge.show{
  opacity:1!important;
  transform:scale(1)!important;
  animation:mpNotifPulse 1.8s ease-in-out infinite!important;
}

.notifications-nav-btn{
  position:relative!important;
  overflow:visible!important;
}

.notifications-nav-btn .nav-notif-badge.show{
  opacity:1!important;
  transform:scale(1)!important;
  animation:mpNotifPulseMobile 1.8s ease-in-out infinite!important;
}

@keyframes mpNotifPulse{
  0%,100%{box-shadow:0 0 0 2px rgba(13,37,30,.82),0 5px 14px rgba(0,0,0,.30)}
  50%{box-shadow:0 0 0 5px rgba(217,182,79,.18),0 7px 18px rgba(0,0,0,.32)}
}
@keyframes mpNotifPulseMobile{
  0%,100%{box-shadow:0 0 0 2px var(--cream,#f6f1e8),0 3px 8px rgba(0,0,0,.14)}
  50%{box-shadow:0 0 0 5px rgba(217,182,79,.18),0 4px 10px rgba(0,0,0,.18)}
}

@media(max-width:760px){
  .home-notif-badge{
    top:-5px!important;
    right:-5px!important;
    min-width:24px!important;
    height:19px!important;
    font-size:8px!important;
  }
}


/* ============================================================
   TESTE 95 · PASSWORD VER / OCULTAR
   ============================================================ */
.input-row.password-row{
  grid-template-columns:30px minmax(0,1fr) auto!important;
  padding-right:6px!important;
}
.input-row.password-row input{
  min-width:0!important;
}
.password-toggle{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#9a7422!important;
  padding:7px 8px!important;
  margin:0!important;
  border-radius:7px!important;
  font:inherit!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}
.password-toggle:hover{
  background:rgba(181,140,43,.09)!important;
  color:#173126!important;
}
.password-toggle:focus-visible{
  outline:1px solid rgba(181,140,43,.65)!important;
  outline-offset:1px!important;
}
@media(max-width:640px){
  .password-toggle{
    font-size:9.5px!important;
    padding:7px 6px!important;
  }
}


/* ============================================================
   TESTE 96 · TERMINAR SESSÃO DIRETAMENTE NA HOME
   ============================================================ */

.home-logout-btn{
  border:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.72)!important;
  font-size:11px!important;
  font-weight:650!important;
  padding:6px 8px!important;
  margin-left:2px!important;
  border-radius:8px!important;
  cursor:pointer!important;
  transition:.16s ease!important;
}
.home-logout-btn:hover{
  color:#f1d98a!important;
  background:rgba(255,255,255,.06)!important;
}

.home-logout-mobile-btn{
  display:none!important;
}

@media(max-width:760px){
  .home-logout-btn{
    display:none!important;
  }

  .view[data-view="home"] .home-logout-mobile-btn{
    display:flex!important;
    position:absolute!important;
    right:14px!important;
    bottom:58px!important;
    z-index:12!important;
    min-width:48px!important;
    height:26px!important;
    padding:0 10px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    border:1px solid rgba(232,210,153,.30)!important;
    background:rgba(11,40,31,.56)!important;
    color:rgba(255,255,255,.86)!important;
    box-shadow:0 6px 14px rgba(0,0,0,.14)!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    cursor:pointer!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
  }

  .view[data-view="home"] .home-logout-mobile-btn:active{
    transform:scale(.97)!important;
  }
}


/* ============================================================
   TESTE 97 · MOBILE SAIR + PARAR POLLING APÓS LOGOUT
   ============================================================ */
@media(max-width:760px){
  .view[data-view="home"] .home-logout-mobile-btn{
    display:flex!important;
    position:absolute!important;
    top:52px!important;
    left:12px!important;
    right:auto!important;
    bottom:auto!important;
    z-index:14!important;
    min-width:46px!important;
    height:25px!important;
    padding:0 10px!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    border:1px solid rgba(232,210,153,.28)!important;
    background:rgba(8,31,24,.50)!important;
    color:rgba(255,255,255,.86)!important;
    box-shadow:0 5px 12px rgba(0,0,0,.12)!important;
    font-size:8.5px!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
  }
}

/* Conversas de notificações — não afeta o planeamento nem restantes ecrãs */
.mp-thread-couple-history{margin:16px 0;padding:15px;background:#f7f3ec;border:1px solid #e0d7ca;border-radius:13px;display:grid;gap:10px}
.mp-thread-couple-history h4{font-size:14px;color:#203d30;margin:0 0 2px;font-family:Georgia,serif}
.mp-thread-couple-msg{padding:11px 12px;border-radius:10px;background:#fff;border:1px solid #e3ded6;overflow-wrap:anywhere}
.mp-thread-couple-msg.from-admin{background:#e9f0eb;border-color:#cee0d3}
.mp-thread-couple-msg strong{font-size:10px;color:#315642}
.mp-thread-couple-msg p,.mp-thread-empty{font-size:12px;line-height:1.65;color:#42423e;margin:7px 0 0}
.mp-thread-couple-history label{font-size:12px;font-weight:700;color:#1f3a2c}
.mp-thread-couple-history textarea{width:100%;box-sizing:border-box;border:1px solid #cfc6b9;border-radius:9px;min-height:92px;padding:12px;background:#fff;font:14px Arial,sans-serif;color:#243c30}
.mp-thread-couple-history textarea:focus{outline:2px solid #adc4b3;outline-offset:2px}
.mp-thread-couple-history #mpThreadCoupleSend{background:#1d4434;color:#fff;border:0;padding:13px 18px;border-radius:9px;font-weight:700}
#mpThreadCoupleStatus{font-size:12px;color:#315942}
