.udp{--a:#b08d57;--a2:#7d5f2b;--line:#e4dccb;--ink:#2a2420;--mut:#6b6258;font-size:17px;line-height:1.6;color:var(--ink)}
.udp *{box-sizing:border-box}
.udp-btn{display:inline-block;background:var(--a);color:#fff;border:2px solid var(--a);border-radius:999px;padding:11px 24px;font:700 16px/1.2 inherit;text-decoration:none;cursor:pointer}
.udp-btn:hover{background:var(--a2);border-color:var(--a2);color:#fff}
.udp-btn.ghost{background:transparent;color:var(--a2)}.udp-btn.ghost:hover{background:var(--a);color:#fff}
.udp-btn.small{padding:7px 16px;font-size:14px}.udp-btn.big{padding:15px 34px;font-size:18px}
.udp-ok{background:#e6f4ea;border:2px solid #2e7d4f;border-radius:12px;padding:12px 16px;margin:0 0 14px;font-weight:700}
.udp-er{background:#fdecea;border:2px solid #b3261e;border-radius:12px;padding:12px 16px;margin:0 0 14px;font-weight:700}
.udp-box{background:#fff;border:2px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}
.udp-box h2,.udp-box h3{margin-top:0}
.udp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.udp-grid.one{grid-template-columns:1fr}
@media(max-width:700px){.udp-grid{grid-template-columns:1fr}}
.udp label{display:block;font-weight:700;font-size:15px}
.udp input[type=text],.udp input[type=email],.udp input[type=tel],.udp input[type=url],.udp input[type=date],.udp input[type=time],.udp input[type=number],.udp select,.udp textarea{width:100%;font:inherit;padding:11px 13px;border:2px solid #cfc4ad;border-radius:12px;background:#fff;margin-top:4px}
.udp input[type=color]{width:100%;height:46px;border:2px solid #cfc4ad;border-radius:12px;background:#fff;margin-top:4px}
.udp .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.udp-note{font-size:14px;color:var(--mut)}
.udp-cat,.udp-pk{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}
.udp-card,.udp-plan{background:#fff;border:2px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.udp-thumb.skin-elegan{background:linear-gradient(160deg,#0d1b3e,#1b3a7a);color:#d4b46a}
.udp-thumb.skin-floral{background:linear-gradient(160deg,#f3d6d3,#c27d86);color:#fff}
.udp-thumb.skin-modern{background:#141414;color:#fff}
.udp-thumb .udp-ph small{display:block;letter-spacing:4px;font-size:12px;opacity:.9}.udp-thumb .udp-ph b{font-size:30px;line-height:1.2;display:block;margin-top:6px}
.udp-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}.udp-body h3{margin:0}.udp-body p{margin:0;color:var(--mut);font-size:15.5px}
.udp-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.udp-plan{padding:26px 22px;text-align:center}.udp-plan h3{font-size:26px;margin:0}
.udp-plan .old{text-decoration:line-through;color:var(--mut);font-weight:700}.udp-plan .now{font-size:34px;font-weight:800;color:var(--a2)}
.udp-plan .off{display:inline-block;background:#b3261e;color:#fff;font-size:13px;font-weight:700;border-radius:999px;padding:2px 12px;margin:4px 0}
.udp-plan ul{list-style:none;text-align:left;padding:0;margin:16px 0 20px;flex:1}.udp-plan li{padding:7px 0 7px 26px;border-bottom:1px solid var(--line);position:relative;font-size:15.5px}
.udp-plan li:before{content:"\2713";position:absolute;left:0;color:#2e7d4f;font-weight:800}
.udp-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:10px}
.udp-pick .opt{border:2px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;position:relative}
.udp-pick .opt:has(input:checked){border-color:var(--a);background:#faf5ea}
.udp-pick .opt input{position:absolute;right:12px;top:12px;width:20px;height:20px;margin:0}
.udp-pick .sw{height:60px;border-radius:10px;margin-bottom:6px}
.udp-pick .sw.skin-elegan{background:linear-gradient(160deg,#0d1b3e,#d4b46a)}.udp-pick .sw.skin-floral{background:linear-gradient(160deg,#f3d6d3,#c27d86)}.udp-pick .sw.skin-modern{background:linear-gradient(160deg,#141414,#cfcfcf)}
.udp-pick small{color:var(--mut)}.udp-pick a{font-size:13.5px}
.udp-total{font-size:22px;margin:14px 0}.udp-amount{font-size:40px;font-weight:800;color:var(--a2)}
.udp-banks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
.udp-banks .bank{border:2px dashed var(--a);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.udp-banks .no{font-size:22px;font-weight:800}
.udp-top{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}.udp-top h2{margin:0}
.udp-actions{display:flex;gap:8px;flex-wrap:wrap}
.udp-editor details.udp-box>summary{cursor:pointer;font-weight:800;font-size:19px;list-style:none}.udp-editor details.udp-box>summary::-webkit-details-marker{display:none}
.udp-editor details[open]>summary{margin-bottom:14px}
.udp-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.udp-ph img{width:100%;max-width:160px;border-radius:10px;margin:6px 0}.udp-ph .chk{font-weight:600;font-size:13px}
.udp-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:12px}.udp-gal img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.udp-gal span{font-size:12.5px}
.udp-guests .row{display:flex;gap:10px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:8px 0;flex-wrap:wrap}
.udp-scroll{overflow-x:auto}.udp table{width:100%;border-collapse:collapse}.udp td,.udp th{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top;font-size:15px}

/* ---- 1.1: katalog 84 desain, filter, halaman desain, testimoni ---- */
.udp [hidden]{display:none!important}
.udp-filter{display:flex;flex-direction:column;gap:12px;margin:0 0 22px}
.udp-tabs{display:flex;gap:8px;flex-wrap:wrap}
.udp-tabs button{font:700 14.5px/1.2 inherit;border:2px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 16px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.udp-tabs button:hover{border-color:var(--a)}
.udp-tabs button.on{background:var(--a2);border-color:var(--a2);color:#fff}
.udp-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.udp-search input{max-width:420px;margin:0}
.udp-count{font-size:14px;color:var(--mut);font-weight:700}
.udp-card{transition:transform .2s,box-shadow .2s}
.udp-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(60,40,10,.14)}
.udp-thumb{display:block;position:relative;aspect-ratio:4/5;background:#f3ece0;overflow:hidden}
.udp-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.udp-card:hover .udp-thumb img{transform:scale(1.04)}
.udp-badge{position:absolute;left:12px;top:12px;font:700 12px/1 inherit;letter-spacing:.3px;border-radius:999px;padding:7px 12px;background:#fff;color:#5a3a08;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.udp-badge.premium{background:#2a1a5a;color:#fff}.udp-badge.static{position:static;display:inline-block;margin-bottom:10px;box-shadow:none}
.udp-kind{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mut);font-weight:700}
.udp-body h3 a{color:inherit;text-decoration:none}.udp-body h3 a:hover{color:var(--a2)}
.udp-pr{font-size:15px}.udp-pr s{color:var(--mut)}.udp-pr b{font-size:20px;color:var(--a2)}
.udp-pr .off{background:#b3261e;color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px}
.udp-pr.big b{font-size:34px}
.udp-more,.udp-empty{text-align:center;margin:26px 0 0}
.udp-pickd{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
.udp-pickd img{width:120px;height:150px;object-fit:cover;border-radius:12px;border:2px solid var(--line);background:#f3ece0}
.udp-pickd>div{flex:1;min-width:240px}
.udp-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--mut);margin:0 0 18px}.udp-crumbs a{color:inherit}
.udp-ds-grid{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:34px;align-items:start;margin-bottom:34px}
@media(max-width:820px){.udp-ds-grid{grid-template-columns:1fr}.udp-ds-media{max-width:420px}}
.udp-ds-media img{width:100%;height:auto;border-radius:22px;border:2px solid var(--line);box-shadow:0 18px 44px rgba(60,40,10,.16);background:#f3ece0}
.udp-ds h1{margin:0 0 8px;line-height:1.15}.udp-ds .lead{color:var(--mut);font-size:18px}
.udp-ds h2{margin:34px 0 14px}
.udp-facts{list-style:none;margin:16px 0;padding:0;display:grid;gap:0;border:2px solid var(--line);border-radius:16px;overflow:hidden}
.udp-facts li{display:flex;justify-content:space-between;gap:16px;padding:11px 16px;border-bottom:1px solid var(--line);font-size:15.5px}.udp-facts li:last-child{border-bottom:0}
.udp-facts b{color:var(--mut);font-weight:700}.udp-facts span{text-align:right}
.udp-ds-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.udp-ds-strip img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:2px solid var(--line);background:#f3ece0}
.udp-checks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.udp-checks li{position:relative;padding-left:30px}.udp-checks li:before{content:"\2713";position:absolute;left:0;top:0;color:#2e7d4f;font-weight:800}
.udp-faq details{background:#fff;border:2px solid var(--line);border-radius:14px;margin-bottom:10px;padding:2px 18px}
.udp-faq summary{cursor:pointer;font-weight:800;padding:14px 0;list-style:none}.udp-faq summary::-webkit-details-marker{display:none}
.udp-faq summary:after{content:"+";float:right;font-size:24px;line-height:1}.udp-faq details[open] summary:after{content:"\2212"}
.udp-faq p{margin:0 0 14px;color:var(--mut)}
.udp-tt-wrap h2{margin:0 0 18px}
.udp-tt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.udp-tt{margin:0;background:#fff;border:2px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:10px;position:relative}
.udp-tt-top{display:flex;gap:12px;align-items:center}
.udp-tt .av{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--a);background:#f3ece0;flex:none}
.udp-tt-top b{display:block;line-height:1.25}.udp-tt-top span{font-size:13.5px;color:var(--mut)}.udp-tt-top a{color:var(--a2)}
.udp-tt .stars{color:#e0a020;letter-spacing:2px;font-size:18px}
.udp-tt blockquote{margin:0;font-size:16px;color:var(--ink)}.udp-tt blockquote p{margin:0}
.udp-contoh{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:#f3ece0;color:#7d5f2b;border-radius:999px;padding:3px 10px}
.udp-tt-note{margin-top:12px}

/* foto contoh dalam bingkai lengkung */
.udp-ph-wrap{position:relative;display:block;width:100%;aspect-ratio:4/5;overflow:hidden}
.udp-ph-wrap img{position:absolute!important;transition:none!important;transform:none!important;border:0!important;box-shadow:none!important}
.udp-ph-wrap .udp-fr{left:0;top:0;width:100%;height:100%;border-radius:0!important}
.udp-ph-wrap .udp-ph{left:15.5%;top:17.2%;width:69%;height:58.4%;object-fit:cover;border-radius:50% 50% 0 0 / 47.3% 47.3% 0 0!important}
.udp-card .udp-ph-wrap{transition:transform .5s}.udp-card:hover .udp-ph-wrap{transform:scale(1.04)}
.udp-ds-media .udp-ph-wrap{border-radius:22px;border:2px solid var(--line);box-shadow:0 18px 44px rgba(60,40,10,.16)}
