.dct-ns-app{--blue:#123d84;--blue2:#1e5db8;--yellow:#f7ba24;--red:#dc261d;--ink:#17243e;--muted:#5f6f8b;--line:#dbe5f3;--paper:#fff;--bg:#f5f8fd;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(247,186,36,.18),transparent 28rem),radial-gradient(circle at 100% 15%,rgba(30,93,184,.13),transparent 30rem),var(--bg);padding:clamp(18px,4vw,56px) 16px;min-height:70vh}
.dct-ns-app *{box-sizing:border-box}.dct-ns-app button,.dct-ns-app input,.dct-ns-app select,.dct-ns-app textarea{font:inherit}.dct-ns-shell{max-width:1100px;margin:0 auto;background:rgba(255,255,255,.97);border:1px solid rgba(18,61,132,.13);border-radius:26px;box-shadow:0 20px 70px rgba(18,61,132,.12);overflow:hidden}.dct-ns-header{display:flex;align-items:center;gap:18px;padding:22px clamp(20px,4vw,42px);border-bottom:1px solid var(--line);background:#fff}.dct-ns-header img{width:170px;max-height:58px;object-fit:contain;object-position:left center}.dct-ns-header div{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:18px}.dct-ns-header b{color:var(--blue);font-size:17px}.dct-ns-header small{color:var(--muted);margin-top:3px}.dct-ns-back{margin:22px 0 0 clamp(20px,4vw,42px);border:0;background:none;color:var(--blue2);font-weight:800;cursor:pointer;padding:8px 0}.dct-ns-hero,.dct-ns-title{text-align:center;padding:clamp(48px,7vw,78px) clamp(20px,6vw,75px) 30px}.dct-ns-hero span,.dct-ns-title>span{display:inline-block;color:var(--blue2);font-size:13px;font-weight:900;letter-spacing:.18em}.dct-ns-hero h1,.dct-ns-title h1{font-size:clamp(30px,5vw,52px);line-height:1.18;color:var(--blue);margin:12px 0 15px}.dct-ns-title h1{font-size:clamp(28px,4vw,44px)}.dct-ns-hero p,.dct-ns-title p{max-width:720px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.8}.dct-ns-title.compact{padding-bottom:18px}.dct-ns-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:10px clamp(20px,6vw,70px) 70px}.dct-ns-branch-grid button{position:relative;text-align:left;border:2px solid var(--line);border-radius:22px;background:#fff;padding:30px;min-height:230px;cursor:pointer;transition:.2s;box-shadow:0 8px 30px rgba(28,57,100,.06)}.dct-ns-branch-grid button:before{content:"";position:absolute;top:0;left:0;width:100%;height:7px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--blue),var(--yellow),var(--red))}.dct-ns-branch-grid button:hover,.dct-ns-branch-grid button:focus-visible{transform:translateY(-3px);border-color:var(--blue2);box-shadow:0 14px 34px rgba(18,61,132,.15)}.dct-ns-branch-grid em{display:block;font-size:12px;letter-spacing:.2em;font-style:normal;color:var(--blue2);font-weight:900}.dct-ns-branch-grid strong{display:block;color:var(--blue);font-size:30px;margin:10px 0}.dct-ns-branch-grid span{display:block;color:var(--muted);line-height:1.7}.dct-ns-branch-grid b{display:block;color:var(--blue2);margin-top:24px}.dct-ns-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:10px clamp(20px,5vw,54px) 65px}.dct-ns-course{display:grid;grid-template-columns:170px 1fr;min-height:170px;text-align:left;padding:0;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden;cursor:pointer;transition:.2s}.dct-ns-course:hover,.dct-ns-course:focus-visible{transform:translateY(-2px);border-color:var(--blue2);box-shadow:0 12px 30px rgba(18,61,132,.12)}.dct-ns-course img{width:100%;height:100%;object-fit:cover}.dct-ns-course-body{padding:22px;display:flex;flex-direction:column;align-items:flex-start}.dct-ns-course-body em{font-style:normal;color:var(--blue2);font-size:12px;font-weight:800}.dct-ns-course-body strong{color:var(--blue);font-size:20px;line-height:1.35;margin:8px 0}.dct-ns-course-body small{color:var(--muted)}.dct-ns-course-body i{font-style:normal;background:#fff2cf;color:#754b00;font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px;margin-top:12px}.dct-ns-notice{display:flex;gap:14px;max-width:840px;margin:0 auto 18px;background:#fff8df;border:1px solid #f1d276;border-radius:14px;padding:15px 18px}.dct-ns-notice b{white-space:nowrap;color:#7a5200}.dct-ns-notice span{color:#5f5339;line-height:1.6}.dct-ns-form{max-width:840px;margin:0 auto;padding:18px 22px 65px}.dct-ns-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dct-ns-form label:not(.dct-ns-consent){display:flex;flex-direction:column;gap:8px}.dct-ns-form label>span{font-weight:800;color:#263a60}.dct-ns-form label.wide{grid-column:1/-1}.dct-ns-form input:not([type=checkbox]),.dct-ns-form select,.dct-ns-form textarea{width:100%;border:1px solid #bdcce2;border-radius:12px;background:#fff;padding:13px 14px;color:var(--ink);outline:none}.dct-ns-form input:focus,.dct-ns-form select:focus,.dct-ns-form textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(30,93,184,.13)}.dct-ns-form select:disabled{background:#f0f3f8;color:#8590a5}.dct-ns-field-note,.dct-ns-submit-note{color:var(--muted);font-size:13px;line-height:1.55}.dct-ns-consent{display:flex;gap:10px;align-items:flex-start;margin:24px 0;color:var(--muted);line-height:1.6}.dct-ns-consent input{margin-top:5px}.dct-ns-consent a{color:var(--blue2);margin-left:5px}.dct-ns-primary{width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-weight:900;padding:15px 22px;cursor:pointer;box-shadow:0 9px 24px rgba(18,61,132,.2)}.dct-ns-primary:hover{filter:brightness(1.05)}.dct-ns-primary:disabled{cursor:not-allowed;opacity:.55}.dct-ns-submit-note{display:block;text-align:center;margin-top:10px}.dct-ns-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.dct-ns-message{padding:13px 15px;border-radius:10px;margin:14px 0;background:#eaf3ff;color:var(--blue)}.dct-ns-message.error{background:#fff0ef;color:#a82924;border:1px solid #efc2bf}.dct-ns-bank{max-width:680px;margin:0 auto 20px;background:#f6f9ff;border:1px solid #cddcf0;border-radius:18px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.dct-ns-bank div{display:flex;flex-direction:column;gap:4px}.dct-ns-bank .full,.dct-ns-bank p{grid-column:1/-1}.dct-ns-bank span{font-size:12px;color:var(--muted);font-weight:700}.dct-ns-bank b{font-size:17px;color:var(--blue)}.dct-ns-bank .account{font-size:24px;letter-spacing:.06em}.dct-ns-bank p{margin:0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);line-height:1.6}.dct-ns-form.payment{max-width:680px}.dct-ns-success{text-align:center;padding:clamp(60px,10vw,110px) 22px}.dct-ns-success>span{display:inline-block;background:#e7f4e9;color:#24713a;padding:6px 12px;border-radius:999px;font-weight:800}.dct-ns-success h1{font-size:clamp(32px,5vw,50px);color:var(--blue);margin:18px 0 12px}.dct-ns-success p{max-width:640px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.8}.dct-ns-success div{display:inline-flex;flex-direction:column;margin:26px 0 22px;padding:14px 28px;border-radius:14px;background:#f4f7fb}.dct-ns-success div small{color:var(--muted)}.dct-ns-success div b{color:var(--blue);font-size:20px}.dct-ns-success button{display:block;margin:0 auto;border:1px solid var(--blue2);background:#fff;color:var(--blue2);font-weight:800;border-radius:11px;padding:11px 18px;cursor:pointer}.dct-ns-footer{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:20px clamp(20px,4vw,42px);background:#0e2f67;color:#fff}.dct-ns-footer span{font-weight:700}.dct-ns-footer small{grid-column:2;color:#cbd8ec}
@media(max-width:760px){.dct-ns-app{padding:10px 7px}.dct-ns-shell{border-radius:18px}.dct-ns-header{padding:17px}.dct-ns-header img{width:128px}.dct-ns-header div{padding-left:12px}.dct-ns-header b{font-size:14px}.dct-ns-header small{font-size:11px}.dct-ns-branch-grid,.dct-ns-course-grid,.dct-ns-form-grid{grid-template-columns:1fr}.dct-ns-course-grid{padding-left:15px;padding-right:15px}.dct-ns-course{grid-template-columns:115px 1fr;min-height:150px}.dct-ns-course-body{padding:16px}.dct-ns-course-body strong{font-size:17px}.dct-ns-form label.wide{grid-column:auto}.dct-ns-bank{grid-template-columns:1fr;margin-left:15px;margin-right:15px}.dct-ns-bank .full,.dct-ns-bank p{grid-column:auto}.dct-ns-footer{grid-template-columns:1fr}.dct-ns-footer small{grid-column:1}.dct-ns-hero,.dct-ns-title{padding-left:18px;padding-right:18px}.dct-ns-branch-grid{padding-left:15px;padding-right:15px}.dct-ns-notice{margin-left:15px;margin-right:15px;flex-direction:column}.dct-ns-form{padding-left:15px;padding-right:15px}}

/* WordPress 的頁面內容欄可能比瀏覽器視窗窄；依元件實際寬度切換版面，避免卡片文字被擠成直排。 */
.dct-ns-shell{container-type:inline-size}
.dct-ns-course{grid-template-columns:170px minmax(0,1fr)}
.dct-ns-course-body{min-width:0}
@container(max-width:760px){.dct-ns-branch-grid,.dct-ns-course-grid,.dct-ns-form-grid{grid-template-columns:1fr}.dct-ns-course{grid-template-columns:170px minmax(0,1fr)}.dct-ns-form label.wide{grid-column:auto}.dct-ns-bank{grid-template-columns:1fr;margin-left:15px;margin-right:15px}.dct-ns-bank .full,.dct-ns-bank p{grid-column:auto}}
@container(max-width:430px){.dct-ns-course{grid-template-columns:115px minmax(0,1fr);min-height:150px}.dct-ns-course-body{padding:16px}.dct-ns-course-body strong{font-size:17px}}
.dct-ns-secondary{border:1px solid var(--blue2);border-radius:11px;background:#fff;color:var(--blue2);font-weight:800;padding:11px 18px;cursor:pointer}.dct-ns-message.success{background:#e8f6ec;color:#236f3b;border:1px solid #add8b9}.dct-ns-deadline,.dct-ns-line-box{max-width:680px;margin:0 auto 16px;border-radius:15px;padding:17px 19px}.dct-ns-deadline{display:flex;flex-direction:column;gap:4px;background:#fff5da;border:1px solid #e8ca6c;color:#6f4e00}.dct-ns-line-box{background:#edfff0;border:1px solid #9bd2a6;color:#164c25}.dct-ns-line-box.muted{background:#f4f6f9;border-color:#d5dde8;color:var(--muted)}.dct-ns-line-box b,.dct-ns-line-box p{display:block;margin:0}.dct-ns-line-box p{margin-top:6px;line-height:1.6}.dct-ns-line-box a{display:inline-block;margin-top:12px;padding:10px 14px;border-radius:9px;background:#06c755;color:#fff!important;font-weight:900;text-decoration:none}.dct-ns-contact-edit{max-width:680px;margin:0 auto 10px;border:1px solid var(--line);border-radius:13px;background:#fff}.dct-ns-contact-edit summary{cursor:pointer;padding:14px 17px;color:var(--blue2);font-weight:800}.dct-ns-contact-edit form{padding:0 17px 17px}.dct-ns-contact-edit .dct-ns-secondary{margin-top:14px}.dct-ns-review{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:18px;background:rgba(10,29,61,.68)}.dct-ns-review-card{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:26px;box-shadow:0 24px 90px rgba(0,0,0,.25)}.dct-ns-review-card>span{font-size:12px;letter-spacing:.18em;color:var(--blue2);font-weight:900}.dct-ns-review-card h2{margin:8px 0 16px;color:var(--blue)}.dct-ns-review-card dl{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.dct-ns-review-card dl>div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 13px}.dct-ns-review-card dl>div+div{border-top:1px solid var(--line)}.dct-ns-review-card dt{color:var(--muted);font-weight:700}.dct-ns-review-card dd{margin:0;font-weight:800;overflow-wrap:anywhere}.dct-ns-review-card>p{color:#8a4e00;background:#fff6dd;padding:11px;border-radius:9px}.dct-ns-review-card>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dct-ns-success .dct-ns-line-box{display:block;margin:22px auto;padding:17px 19px}.dct-ns-success .dct-ns-line-box b{font-size:inherit;color:inherit}.dct-ns-success .dct-ns-line-box a{display:inline-block}.dct-ns-success .dct-ns-line-box p{font-size:15px}.dct-ns-success .dct-ns-line-box+button{margin-top:12px}
@media(max-width:760px){.dct-ns-deadline,.dct-ns-line-box,.dct-ns-contact-edit{margin-left:15px;margin-right:15px}.dct-ns-review-card dl>div{grid-template-columns:1fr;gap:3px}.dct-ns-review-card>div{grid-template-columns:1fr}}
.dct-ns-success .dct-ns-line-box{background:#edfff0;border:1px solid #9bd2a6;color:#164c25}
.dct-ns-resume-entry{padding:0 clamp(20px,6vw,70px) 54px;text-align:center}.dct-ns-resume-entry button{border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--blue2);font-weight:800;padding:7px 3px;cursor:pointer}.dct-ns-resume-entry button:hover,.dct-ns-resume-entry button:focus-visible{color:var(--blue);border-bottom-width:2px}.dct-ns-resume-form{padding-top:8px}.dct-ns-status-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:4px auto 18px}.dct-ns-success .dct-ns-status-actions button{display:inline-block;margin:0}.dct-ns-status-screen .dct-ns-status-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;width:min(620px,100%);margin:28px auto 22px;text-align:left}.dct-ns-status-screen .dct-ns-status-summary small{align-self:start}.dct-ns-status-screen .dct-ns-status-summary b,.dct-ns-status-screen .dct-ns-status-summary strong{color:var(--blue);font-size:17px;overflow-wrap:anywhere}.dct-ns-status-screen.unavailable>span{background:#fff0ef;color:#a82924}.dct-ns-line-box.bound{background:#edfff0;border-color:#79c68b}.dct-ns-success [data-status-error]{display:block;max-width:680px;margin:0 auto}
@media(max-width:760px){.dct-ns-resume-entry{padding-left:15px;padding-right:15px}.dct-ns-status-screen .dct-ns-status-summary{grid-template-columns:1fr;text-align:center}}
.dct-ns-branch-grid button{padding:0;overflow:hidden}.dct-ns-branch-body{display:block;padding:30px}.dct-ns-branch-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#edf2f9}.dct-ns-course-photo{max-width:840px;aspect-ratio:2/1;margin:0 auto 18px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#edf2f9}.dct-ns-course-photo img{display:block;width:100%;height:100%;object-fit:cover}.dct-ns-course[data-course="preschool"] img,.dct-ns-course-photo[data-course-photo="preschool"] img{object-position:50% 82%}.dct-ns-course[data-course="mechanics"] img,.dct-ns-course-photo[data-course-photo="mechanics"] img{object-position:50% 88%}.dct-ns-course[data-course="spike"] img,.dct-ns-course-photo[data-course-photo="spike"] img{object-position:50% 82%}.dct-ns-course[data-course="vex"] img,.dct-ns-course-photo[data-course-photo="vex"] img{object-position:50% 90%}.dct-ns-course[data-course="maker_advanced"] img,.dct-ns-course-photo[data-course-photo="maker_advanced"] img{object-position:50% 82%}.dct-ns-course[data-course="minecraft"] img,.dct-ns-course-photo[data-course-photo="minecraft"] img{object-position:50% 80%}.dct-ns-reference{max-width:680px;margin:0 auto 18px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#f6f9ff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center}.dct-ns-reference small{color:var(--muted);font-weight:700}.dct-ns-reference b{grid-row:2;color:var(--blue);font-size:21px;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}.dct-ns-reference button{grid-column:2;grid-row:1/3;border:1px solid var(--blue2);border-radius:9px;background:#fff;color:var(--blue2);font-weight:800;padding:9px 12px;cursor:pointer}.dct-ns-reference [data-copy-status]{grid-column:1/-1;min-height:1.2em;color:#24713a;font-size:13px;font-weight:800}.dct-ns-success .dct-ns-reference{display:grid;width:min(680px,100%);margin:26px auto 20px;padding:16px 18px}.dct-ns-success .dct-ns-reference small{color:var(--muted)}.dct-ns-success .dct-ns-reference b{color:var(--blue);font-size:21px}.dct-ns-success .dct-ns-reference button{display:block;margin:0}.dct-ns-success .dct-ns-reference [data-copy-status]{color:#24713a}.dct-ns-success [data-status-error] .dct-ns-message{display:block;margin:14px 0;padding:13px 15px}
@media(max-width:760px){.dct-ns-branch-body{padding:24px}.dct-ns-course-photo{aspect-ratio:16/9;margin-left:15px;margin-right:15px}.dct-ns-reference{margin-left:15px;margin-right:15px;grid-template-columns:1fr}.dct-ns-reference button{grid-column:1;grid-row:auto;width:100%}.dct-ns-reference b{grid-row:auto}.dct-ns-success .dct-ns-reference{width:auto;margin-left:15px;margin-right:15px}}

/* 每門課使用自己的作品焦點與原圖比例，避免超寬裁切只留下人物。 */
.dct-ns-course img{object-position:var(--dct-course-focus,50% 50%)!important}
.dct-ns-course-photo{aspect-ratio:var(--dct-course-ratio,3/2)!important}
.dct-ns-course-photo img{object-fit:var(--dct-course-fit,cover)!important;object-position:var(--dct-course-focus,50% 50%)!important}

/* LINE 綁定：手機使用深連結，電腦掃描每筆預約專屬的動態 QR Code。 */
.dct-ns-line-bind-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center;margin-top:15px}.dct-ns-line-qr{display:flex;flex-direction:column;align-items:center;gap:6px}.dct-ns-line-qr img{display:block;width:140px;height:140px;padding:7px;border:1px solid #b9dec0;border-radius:12px;background:#fff}.dct-ns-line-qr small{font-size:11px;color:#447553;text-align:center}.dct-ns-line-command{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-bottom:10px}.dct-ns-line-command small{color:#447553}.dct-ns-line-command code{display:block;width:100%;padding:9px 11px;border:1px dashed #79bd87;border-radius:8px;background:#fff;color:#164c25;font-size:15px;font-weight:900;user-select:all;overflow-wrap:anywhere}.dct-ns-line-command button{border:1px solid #3d9a52;border-radius:8px;background:#fff;color:#24713a;font-weight:800;padding:8px 11px;cursor:pointer}.dct-ns-line-command [data-line-copy-status]{min-height:1.2em;font-size:12px;color:#24713a}.dct-ns-line-bind-grid>div>a{margin-top:0}.dct-ns-line-id{display:block;margin-top:9px;color:#447553}.dct-ns-line-id b{display:inline;color:inherit}
@media(max-width:620px){.dct-ns-line-bind-grid{grid-template-columns:1fr}.dct-ns-line-qr{display:none}.dct-ns-line-command{align-items:stretch}.dct-ns-line-command button{width:100%}.dct-ns-line-bind-grid>div>a{display:block!important;text-align:center}}
.dct-ns-test-mode{display:flex;justify-content:center;align-items:center;gap:10px;padding:11px 18px;background:#fff3c9;border-bottom:1px solid #e5c75e;color:#6d4c00}.dct-ns-test-mode b{padding:4px 8px;border-radius:999px;background:#795800;color:#fff;font-size:12px}.dct-ns-test-mode span{font-weight:800}@media(max-width:620px){.dct-ns-test-mode{align-items:flex-start;flex-direction:column}}


/* 0.5.6：每筆預約的 LINE 動態 QR、付款摘要與後五碼更正介面。 */
.dct-ns-line-qr-code{display:block;width:160px;height:160px;max-width:100%;padding:8px;border:1px solid #b9dec0;border-radius:12px;background:#fff;overflow:hidden;flex:none}
.dct-ns-line-qr-code canvas,.dct-ns-line-qr-code img{width:142px!important;height:142px!important;max-width:142px!important;max-height:142px!important;padding:0!important;border:0!important;border-radius:4px!important;background:#fff}
.dct-ns-payment-summary{max-width:680px;margin:0 auto 18px;border:1px solid #cddcf0;border-radius:18px;background:#fff;padding:20px}
.dct-ns-payment-summary>span{display:block;margin-bottom:12px;color:var(--blue);font-size:17px;font-weight:900}
.dct-ns-payment-summary dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.dct-ns-payment-summary dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;margin:0;padding:11px 13px;background:#fff}
.dct-ns-payment-summary dl>div:nth-child(even){border-left:1px solid var(--line)}
.dct-ns-payment-summary dl>div:nth-child(n+3){border-top:1px solid var(--line)}
.dct-ns-payment-summary dl>div.wide{grid-column:1/-1;border-left:0}
.dct-ns-payment-summary dt{color:var(--muted);font-weight:700}
.dct-ns-payment-summary dd{margin:0;color:var(--ink);font-weight:800;overflow-wrap:anywhere}
.dct-ns-payment-summary .total{align-items:center;background:#fff6dc}
.dct-ns-payment-summary .total dt{color:#755000}
.dct-ns-payment-summary .total dd{color:#b54118;font-size:25px;font-weight:900}
.dct-ns-bank .amount{padding:14px 16px;border-radius:12px;background:#fff1c9}
.dct-ns-bank .amount span{color:#755000}
.dct-ns-bank .amount b{color:#b54118;font-size:27px}
.dct-ns-bank-account>div{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}
.dct-ns-bank-account .account{font-variant-numeric:tabular-nums;letter-spacing:.04em;overflow-wrap:anywhere}
.dct-ns-bank-account button{border:1px solid var(--blue2);border-radius:9px;background:#fff;color:var(--blue2);font-size:14px;font-weight:800;padding:8px 12px;cursor:pointer;white-space:nowrap}
.dct-ns-bank-account button:hover,.dct-ns-bank-account button:focus-visible{background:#eaf3ff}
.dct-ns-bank-account>[data-bank-copy-status]{min-height:1.3em;color:#24713a;font-size:12px;font-weight:700}
.dct-ns-payment-correction{max-width:680px;margin:16px auto 22px;border:1px solid #d7e2f2;border-radius:14px;background:#fff;text-align:left}
.dct-ns-payment-correction summary{cursor:pointer;padding:15px 18px;color:var(--blue2);font-weight:900}
.dct-ns-payment-correction form{padding:0 18px 18px}
.dct-ns-payment-correction form>p{margin:0 0 14px!important;color:var(--muted)!important;font-size:14px!important;text-align:left}
.dct-ns-payment-correction .dct-ns-secondary{margin-top:14px}
.dct-ns-success .dct-ns-line-bind-grid{display:grid;margin:15px 0 0;padding:0;border-radius:0;background:transparent}
.dct-ns-success .dct-ns-line-bind-grid>div{display:block;margin:0;padding:0;border-radius:0;background:transparent}
.dct-ns-success .dct-ns-line-qr{display:flex;margin:0;padding:0;background:transparent}
.dct-ns-success .dct-ns-line-qr-code{display:block;margin:0;padding:8px;background:#fff}
.dct-ns-success .dct-ns-payment-summary{display:block;width:min(680px,100%);margin:20px auto;padding:20px;text-align:left;background:#fff}
.dct-ns-success .dct-ns-payment-summary dl>div{display:grid;margin:0;padding:11px 13px;border-radius:0}
.dct-ns-success .dct-ns-payment-correction{display:block;width:min(680px,100%);margin:16px auto 22px;padding:0;background:#fff}
.dct-ns-success .dct-ns-payment-correction .dct-ns-form-grid{display:grid;margin:0;padding:0;background:transparent}
.dct-ns-success .dct-ns-payment-correction [data-error]{display:block;margin:0;padding:0;background:transparent}
.dct-ns-success .dct-ns-payment-correction button{margin-top:14px}

@media(max-width:760px){
  .dct-ns-payment-summary,.dct-ns-payment-correction{margin-left:15px;margin-right:15px}
  .dct-ns-payment-summary dl{grid-template-columns:1fr}
  .dct-ns-payment-summary dl>div,.dct-ns-payment-summary dl>div:nth-child(even){grid-column:1;border-left:0;border-top:1px solid var(--line)}
  .dct-ns-payment-summary dl>div:first-child{border-top:0}
  .dct-ns-success .dct-ns-payment-summary,.dct-ns-success .dct-ns-payment-correction{width:auto;margin-left:15px;margin-right:15px}
}


/* v0.5.8：手機版銀行帳號與複製按鈕 */
@media(max-width:760px){.dct-ns-bank-account>div{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;width:100%}.dct-ns-bank-account .account{display:block;width:100%;font-size:clamp(22px,7vw,32px);line-height:1.25;letter-spacing:.015em;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.dct-ns-bank-account button{width:100%;min-height:48px;font-size:16px}.dct-ns-payment-correction summary{font-size:16px;line-height:1.5}}


/* v0.5.11：手機金額、帳號安全邊距與 LINE 綁定送出提示。 */
.dct-ns-payment-summary .total dd,.dct-ns-bank .amount b{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;font-variant-numeric:tabular-nums}
.dct-ns-bank-account>div{min-width:0;max-width:100%}
.dct-ns-bank-account .account{box-sizing:border-box;max-width:100%;letter-spacing:0;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
.dct-ns-line-send-note{display:grid;gap:3px;margin:12px 0;padding:11px 13px;border:1px solid #61ad72;border-radius:10px;background:#fff;color:#164c25}
.dct-ns-line-send-note strong{font-size:15px;font-weight:900}
.dct-ns-line-send-note span{line-height:1.55}
.dct-ns-line-steps{margin:10px 0 14px;padding-left:24px;color:#164c25}
.dct-ns-line-steps li{margin:4px 0;line-height:1.45}
@media(max-width:760px){
  .dct-ns-payment-summary .total{grid-template-columns:1fr!important;gap:4px;text-align:center}
  .dct-ns-payment-summary .total dd{display:block;width:100%;font-size:clamp(28px,10vw,42px);line-height:1.1;text-align:center}
  .dct-ns-bank .amount b{display:block;width:100%;font-size:clamp(28px,10vw,42px);line-height:1.1;text-align:left}
  .dct-ns-bank-account>div{box-sizing:border-box;width:100%;min-width:0;padding:0 4px}
  .dct-ns-bank-account .account{display:block;width:100%;padding:0 10px;font-size:clamp(18px,5.4vw,24px);line-height:1.25;letter-spacing:0;text-align:center;overflow:visible}
  .dct-ns-line-send-note{text-align:left}
  .dct-ns-line-steps{text-align:left}
}

/* v0.6 parent journey: payment first, clear branch and next action. */
.dct-ns-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0 0 24px;font-size:14px;text-align:center}.dct-ns-progress li{padding:12px 6px;background:#eef1f5;border-radius:8px;color:#607087}.dct-ns-progress .complete{background:#e6f5ec;color:#176a48}.dct-ns-progress .current{background:#19468d;color:#fff;font-weight:700}.dct-ns-contact-help{padding:20px;margin-top:24px;border:1px solid #d5dfed;border-radius:12px;background:#f8fafd}.dct-ns-contact-help p{margin:8px 0;line-height:1.6}.dct-ns-contact-help a{font-weight:700;color:#19468d;font-size:20px}.dct-ns-line-optional summary,.dct-ns-data-use summary{cursor:pointer;font-weight:700;line-height:1.6}.dct-ns-line-optional[open]>summary{margin-bottom:18px}.dct-ns-data-use{margin-top:12px;color:#586e8c}.dct-ns-data-use small{display:block;line-height:1.8;margin-top:8px}.dct-ns-status-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.dct-ns-app [data-payment-assistance]{background:#fff3d4;color:#79530b;border:1px solid #d8b269;padding:14px 20px;border-radius:8px;font-weight:700}.dct-ns-app [data-assistance-status]{line-height:1.7}.dct-ns-app .payment .dct-ns-primary{min-height:52px}.dct-ns-app details:not([open])>.dct-ns-line-bind-grid{display:none}@media(max-width:480px){.dct-ns-progress{font-size:12px;gap:4px}.dct-ns-progress li{padding:10px 3px}.dct-ns-status-actions{display:grid;grid-template-columns:1fr}}

.dct-ns-report-shortcut{display:inline-block;margin-top:14px;color:#19468d;font-weight:700;text-decoration:underline;line-height:1.7;padding:8px}.dct-ns-app #dct-payment-form{scroll-margin-top:20px}.dct-ns-app .dct-ns-title.compact{padding-top:28px}.dct-ns-status-screen.dct-ns-success{padding-top:30px}

.dct-ns-form-grid > [data-email-fields]{grid-column:1/-1}
