/* Quote / unavailable product detail (category catalogue).
   Shell: app/category_product_page.py · renderer: assets/js/category-product.js · copy: category-messages.mjs.
   Mirrors the PC product detail order: hero card → guide (content) → sticky action card. */
.category-product-page{margin:0;background:#fff;color:#192a45;font-family:system-ui,-apple-system,"Segoe UI","Malgun Gothic",sans-serif}
#categoryProduct{max-width:1240px;margin:0 auto;padding:20px 32px 64px;box-sizing:border-box;line-height:1.5}
#categoryProduct :focus-visible{outline:2px solid #245dc0;outline-offset:4px}
.qp-hero :where(h1,p,dl,dd),.qp-guide :where(h2,h3,p,ol,ul),.qp-action :where(h2,p,form),.qp-error :where(p){margin:0}

/* Hero card */
.qp-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px 32px;align-items:end;padding:24px 32px;border:1px solid #e1e7ef;border-radius:18px;background:radial-gradient(ellipse at top left,#eff4fd,transparent 52%),#fff;box-sizing:border-box}
.qp-hero-main{min-width:0}
.qp-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;color:#52637c;font-size:13px;text-decoration:none}
.qp-back:hover{color:#123d89;text-decoration:underline}
.qp-back-arr{display:inline-block;line-height:1}
html[dir="rtl"] .qp-back-arr{transform:scaleX(-1)}
.qp-badges{display:flex;flex-wrap:wrap;gap:8px}
.qp-badge,.qp-chip{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700;line-height:1.4}
.qp-badge-quote{background:#e0eaff;color:#1e5bba}
.qp-badge-off{background:#fdecea;color:#c0392b}
.qp-chip{background:#f3f5f8;color:#59677b;font-weight:600}
.qp-hero h1{font-size:27px;line-height:1.35;margin:12px 0 6px;font-weight:800;word-break:keep-all;overflow-wrap:anywhere}
.qp-name-ko{margin-bottom:4px;color:#59677b;font-size:15px}
.qp-option{color:#56647a;font-size:13px}
.qp-desc{margin-top:10px;color:#415671;font-size:14px;line-height:1.6}
.qp-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;padding-top:14px;border-top:1px solid #e8ecf1;font-size:13px}
.qp-meta:empty{display:none}
.qp-meta>div{display:flex;gap:6px;align-items:baseline;min-width:0}
.qp-meta dt{color:#59677b;flex:none}
.qp-meta dd{color:#192a45;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.qp-price{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid #e1e7ef;border-radius:12px;background:#fff;text-align:end;box-sizing:border-box}
.qp-price-label,.qp-price small{font-size:13px;color:#536279;line-height:1.45}
.qp-price-value{font-size:22px;line-height:1.3;color:#192a45;font-weight:800;word-break:keep-all}

/* Content + action columns */
.qp-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start;margin-top:28px}
.qp-layout-single{grid-template-columns:minmax(0,640px);justify-content:center}
.qp-guide,.qp-action,.qp-error{padding:22px 24px;border:1px solid #e1e7ef;border-radius:14px;background:#fff;box-sizing:border-box;min-width:0}
.qp-action{position:sticky;top:88px;box-shadow:0 4px 18px #132e5b08}
.qp-action-static{position:static;box-shadow:none}
.qp-title{position:relative;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid #d7dde5;font-size:18px;line-height:1.4;font-weight:700}
.qp-title::after{content:"";position:absolute;inset-inline-start:0;bottom:-1px;width:30px;height:2px;background:#234b85}
.qp-subtitle{margin:22px 0 10px;font-size:15px;font-weight:700}
.qp-steps{list-style:none;padding:0;display:flex;flex-direction:column}
.qp-steps>li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #e8ecf1}
.qp-steps>li:first-child{padding-top:0}
.qp-steps>li>div{min-width:0}
.qp-step-no{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f1f5fb;color:#0a3a8c;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}
.qp-steps strong{display:block;font-size:15px;line-height:1.5}
.qp-steps p{margin-top:4px;font-size:14px;line-height:1.6;color:#59677b}
.qp-note{margin-top:16px;padding:12px 14px;border-inline-start:3px solid #234b85;background:#f7f9fc;border-radius:8px;font-size:13px;line-height:1.65;color:#415671}
.qp-tips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.qp-tips li{padding:6px 12px;border-radius:20px;background:#f3f5f8;color:#3f5170;font-size:13px}
.qp-hint,.qp-text{font-size:14px;line-height:1.65;color:#415671}
.qp-hint{margin-bottom:16px}

/* Calls to action + form */
.qp-cta{display:block;width:100%;min-height:46px;padding:12px;border:1px solid #0a2a5e;border-radius:8px;background:#0a2a5e;color:#fff;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box}
.qp-cta:hover{background:#123d89;border-color:#123d89}
.qp-cta:disabled{opacity:.55;cursor:wait}
.qp-cta-secondary{background:#fff;color:#0a2a5e}
.qp-cta-secondary:hover{background:#f1f5fb;border-color:#0a2a5e}
.qp-form label{display:block;margin-bottom:14px;font-size:13px;font-weight:650;color:#2f4a66}
.qp-form input:not([type=checkbox]),.qp-form select,.qp-form textarea{display:block;box-sizing:border-box;width:100%;min-height:44px;margin-top:6px;padding:10px 12px;border:1px solid #cfd7e2;border-radius:8px;background:#fbfcfe;color:#192a45;font:inherit;font-weight:500}
.qp-form select:disabled{background:#f3f5f8;color:#59677b}
.qp-form input:focus,.qp-form select:focus,.qp-form textarea:focus{outline:none;border-color:#1e5bba;box-shadow:0 0 0 3px rgba(30,91,186,.14)}
.qp-form textarea{min-height:120px;resize:vertical;line-height:1.55}
.qp-form .qp-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;font-weight:400;color:#415671}
.qp-consent input{margin:4px 0 0;flex:none;width:16px;height:16px;accent-color:#1e5bba}
.qp-status{min-height:20px;margin-bottom:10px;font-size:13px;line-height:1.6;color:#425a78;overflow-wrap:anywhere}
.qp-status-closed{padding:12px 14px;border:1px solid #eedacb;border-radius:8px;background:#fff5ed;color:#8b4429}
.qp-order-code{margin-bottom:6px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.qp-form .qp-cta{margin-top:4px}

/* Loading + failure */
.qp-skeleton{display:grid;gap:28px}
.qp-skeleton-hero,.qp-skeleton-card{border:1px solid #e8ecf1;border-radius:14px;background:linear-gradient(90deg,#f1f4f8,#f8fafc,#f1f4f8)}
.qp-skeleton-hero{height:230px;border-radius:18px}
.qp-skeleton-card{height:200px}
.qp-loading{margin:12px 0 0;text-align:center;font-size:13px;color:#59677b}
.qp-error{margin-top:28px;border-color:#eedacb;background:#fff5ed;color:#8b4429}
.qp-error p{margin-bottom:12px}
.qp-error .qp-cta{max-width:220px;color:#8b4429;border-color:#cfa88e;background:#fff}

@media(max-width:980px){
  .qp-layout{grid-template-columns:1fr;gap:20px}
  .qp-action{position:static;order:-1;box-shadow:none}
}
@media(max-width:780px){
  #categoryProduct{padding:16px 16px 48px}
  .qp-hero{grid-template-columns:1fr;gap:18px;padding:20px 18px;border-radius:14px;align-items:start}
  .qp-hero h1{font-size:22px}
  .qp-price{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;text-align:start}
  .qp-price small{flex-basis:100%}
  .qp-guide,.qp-action,.qp-error{padding:18px}
  .qp-layout-single{grid-template-columns:1fr}
}

/* Existing document/FAQ content retained alongside the merged layout. */
.quote-common-content{margin-top:36px;border-top:1px solid #e1e7ef;padding-top:8px}
.quote-common-section{padding:26px 0;border-bottom:1px solid #e1e7ef}
.quote-common-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.quote-common-heading h2{font-size:18px;margin:0}.quote-common-heading>a{font-size:13px;color:#315987;text-decoration:none}.quote-common-heading>a:hover{text-decoration:underline}
.quote-common-cards,.quote-common-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.quote-common-card,.quote-common-reviews .hr-card{border:1px solid #e1e7ef;border-radius:12px;padding:18px;min-width:0;background:#fff}.quote-common-card h3{font-size:14px;line-height:1.6;margin:0 0 8px}.quote-common-card h3 a{color:#223e60;text-decoration:none}.quote-common-card h3 a:hover{text-decoration:underline}
.quote-common-summary,.quote-common-reviews .hr-body-primary,.quote-common-reviews .hr-body-secondary{font-size:13px;line-height:1.75;color:#526279;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0}.quote-common-meta,.quote-common-reviews .hr-meta{font-size:11px;color:#718096;line-height:1.6;margin-top:14px}
.quote-common-reviews .hr-stars{display:flex;gap:3px}.quote-common-reviews .hr-stars img{width:17px;height:17px}.quote-common-reviews .hr-foot{border-top:1px solid #edf0f4;margin-top:12px;padding-top:10px;display:flex;flex-direction:column;gap:5px}.quote-common-reviews .hr-svc{font-size:12px;color:#294c70}.quote-common-reviews .hr-body-secondary{font-size:12px}.quote-common-reviews .hr-svc-secondary{font-size:11px}
@media(max-width:780px){.quote-common-cards,.quote-common-reviews{grid-template-columns:1fr}}
.quote-document-section{background:#fff;border:1px solid #dfe3e9;border-radius:10px;padding:22px;margin:0 0 20px}
.quote-document-section>h2{padding-bottom:12px;border-bottom:1px solid #e8ebef;color:#203953}
.quote-document-copy{font-size:14px;line-height:1.85;color:#455264;white-space:pre-line;margin:10px 0;overflow-wrap:anywhere}
.quote-document-secondary{border-top:1px dashed #dce1e8;margin-top:14px;padding-top:10px;color:#637184}.quote-document-secondary h3{font-size:14px;margin:0}.quote-document-secondary .quote-document-copy{font-size:13px}
.quote-faq{border-bottom:1px solid #e8ebef;padding:13px 0}.quote-faq summary{cursor:pointer;font-size:14px;line-height:1.65;color:#203953}.quote-faq .quote-document-copy{padding-inline-start:16px}
.quote-content-more{background:#fff;border:1px solid #c9d2df;border-radius:6px;color:#294762;font:inherit;font-size:13px;padding:8px 14px;cursor:pointer;margin-top:14px}
.quote-content-more:focus-visible,.quote-faq summary:focus-visible{outline:3px solid #d6a431;outline-offset:3px}
.quote-related-cards{display:grid;gap:12px}.quote-related-card{padding:14px;background:#f7f8fa;border-radius:7px}.quote-related-card h3{font-size:14px;margin:0;line-height:1.6}.quote-related-card a{color:#244e79;text-decoration:none}.quote-related-card a:hover{text-decoration:underline}.quote-related-card .quote-document-copy{font-size:13px}
.quote-content-status,.quote-content-retry{font-size:13px;color:#58697b;padding:12px 0}

.qp-main{min-width:0}.qp-main>.qp-guide{margin-top:22px}.qp-intake-faq{margin-top:22px}.quote-document-section{border-color:#e1e7ef;border-radius:14px;padding:22px 24px}.quote-document-section>h2{font-size:18px;line-height:1.4;margin:0 0 16px}.qp-action{max-height:calc(100vh - 108px);overflow:auto}@media(max-width:980px){.qp-action{max-height:none;overflow:visible}}
