/* Delivery lower sections. Original V10 upper-page stylesheet remains visually authoritative. */
:root{--lower-accent:#2387bd;--lower-accent-dark:#1877aa;--lower-soft:#d4eeff;--lower-tab:#b9e0f5;--lower-ink:#34728f;--part-pill:#86b8d4}
.lower-section .section-content{padding-top:30px;padding-bottom:36px}.lower-section .lower-label{margin-bottom:22px;background:var(--lower-accent);color:#fff;padding-left:27px;padding-right:27px;min-width:154px;text-align:center}
.lower-panel,.character-panel{border:3px solid #a7ddf7;border-radius:13px;background:rgba(212,238,255,.56);padding:9px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.9)}.model-viewer{position:relative}.model-stage{display:block;position:relative;height:500px;background:#fff;border-radius:5px;overflow:hidden;text-decoration:none}.media-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;color:#8fc6e3;font:700 15px/1.4 Pretendard,sans-serif;letter-spacing:.02em;position:relative}.media-slot img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.media-slot .empty-copy{max-width:90%;padding:10px 16px;border:1px solid #d8eefb;border-radius:999px;background:#fbfdff;color:#79b4d4;text-align:center;white-space:nowrap}
.lower-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:54px;height:54px;padding:0;border:3px solid var(--lower-accent);border-radius:50%;background:#fff;color:var(--lower-accent);cursor:pointer;box-shadow:0 2px 8px rgba(69,139,177,.08);display:grid;place-items:center}.lower-arrow svg{display:block;width:24px;height:24px;stroke:currentColor;stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round}.lower-arrow.prev{left:-28px}.lower-arrow.next{right:-28px}.lower-arrow:hover{background:#f5fbff}.lower-arrow:active{transform:translateY(-50%) scale(.96)}
.model-click-note{text-align:center;background:#fff;color:#6aadd0;font:600 13px/1.4 Pretendard,sans-serif;padding:9px 15px 5px}.model-info{min-height:126px;background:#fff;border-top:5px solid var(--lower-accent-dark);text-align:center;padding:15px 24px 14px;color:var(--lower-ink);font-family:Pretendard,sans-serif}.model-info .model-meta{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:nowrap;white-space:nowrap}.model-info strong{font-size:20px;line-height:1.35;color:#2f708f}.model-info span{font-size:15px;font-weight:600;color:#62add2}.model-info b{display:block;margin-top:4px;font-size:17px;color:#347f9f}.model-info p{margin:6px 0 0;font-size:14px;color:#62add2}.model-info strong,.model-info span,.model-info b,.model-info p{white-space:pre-line}
.character .section-content{padding-top:22px}.category-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 16px 18px}.category-tab{border:2px solid #83c8eb;border-radius:11px;background:var(--lower-tab);color:#2f708f;padding:10px 12px;font:700 18px/1.3 Pretendard,sans-serif;cursor:pointer;transition:.15s ease}.category-tab:hover{background:#acd9f1}.category-tab.is-active{background:var(--lower-accent);border-color:var(--lower-accent);color:#fff}.character-panel{min-height:470px}.tab-pane{display:none}.tab-pane.is-active{display:block}.wide-viewer{position:relative;height:450px;background:#fff;border-radius:5px}.wide-stage{height:100%;overflow:hidden;border-radius:5px}.wide-viewer .lower-arrow.prev{left:-37px}.wide-viewer .lower-arrow.next{right:-37px}
.parts-viewer{position:relative;background:rgba(212,238,255,.35);border-radius:5px;min-height:450px;padding:18px 20px}.parts-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,184px);gap:18px;background:transparent;min-height:386px;align-content:center}.part-card{position:relative;border:0;border-radius:8px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#78b3d3;font:600 13px/1.4 Pretendard,sans-serif}.part-card:before{content:"";position:absolute;z-index:2;left:13px;top:13px;width:76px;height:22px;border-radius:999px;background:var(--part-pill)}.part-card img{width:100%;height:100%;object-fit:contain;display:block}.part-card .part-empty{padding:12px;text-align:center;color:#9bcbe4;max-width:100%}.parts-viewer .lower-arrow.prev{left:-48px}.parts-viewer .lower-arrow.next{right:-48px}
.partners .section-content{padding-top:30px;padding-bottom:48px}.partner-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px}.partner-heading .label{margin:0;min-width:154px}.partner-heading p{margin:0;color:#34728f;font:700 16px/1.45 Pretendard,sans-serif}.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;background:rgba(212,238,255,.56);border:3px solid #a7ddf7;border-radius:13px;padding:18px}.partner-card{display:block;min-height:176px;background:#fff;border-radius:9px;text-decoration:none;color:#34728f;padding:25px 24px;text-align:center;transition:.15s ease}.partner-card:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(48,119,155,.08)}.partner-name{display:inline-block;min-width:104px;padding:6px 18px;border-radius:999px;background:var(--part-pill);color:#fff;font:700 18px/1.3 Pretendard,sans-serif}.partner-discount{margin:42px 0 0;color:#34728f;font:700 19px/1.45 Pretendard,sans-serif;white-space:pre-line}
@media(max-width:700px){.lower-section .section-content{max-width:calc(100% - 28px)}.model-stage{height:390px}.lower-arrow{width:44px;height:44px}.lower-arrow svg{width:20px;height:20px}.lower-arrow.prev{left:-17px}.lower-arrow.next{right:-17px}.model-info .model-meta{gap:6px}.model-info strong{font-size:17px}.model-info span{font-size:13px}.category-tabs{gap:7px;margin-left:0;margin-right:0}.category-tab{font-size:14px;padding:9px 5px}.character-panel{min-height:390px}.wide-viewer{height:370px}.wide-viewer .lower-arrow.prev{left:-26px}.wide-viewer .lower-arrow.next{right:-26px}.parts-viewer{padding:12px}.parts-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,150px);gap:10px;min-height:630px}.parts-viewer .lower-arrow.prev{left:-27px}.parts-viewer .lower-arrow.next{right:-27px}.part-card:before{left:10px;top:10px;width:62px;height:18px}.partner-heading{flex-direction:column;gap:8px}.partner-heading p{text-align:center;font-size:14px}.partner-grid{grid-template-columns:1fr}.media-slot .empty-copy{white-space:normal}}

/* V18 delivery refinements */
.model-stage{height:auto;aspect-ratio:3/4}
.partner-heading{justify-content:flex-start;margin-left:16px;margin-right:16px}
.partner-heading p{text-align:left}
.partner-grid{gap:22px;padding:22px}
.partner-card{min-height:250px;padding:30px 30px 26px;text-align:left;display:flex;flex-direction:column}
.partner-name{font-size:24px;min-width:132px;padding:8px 22px;text-align:center}
.partner-discount{margin:auto 0;text-align:center;font-size:24px;line-height:1.5;width:100%}
@media(max-width:700px){.model-stage{height:auto;aspect-ratio:3/4}.partner-heading{align-items:flex-start;margin-left:0;margin-right:0}.partner-heading p{text-align:left}.partner-card{min-height:210px}.partner-name{font-size:21px}.partner-discount{font-size:20px}}

/* V19 requested refinements */
.part-card{padding-top:42px}
.part-card:before{display:none}
.part-label{position:absolute;z-index:3;left:13px;top:13px;min-width:96px;max-width:calc(100% - 26px);height:27px;padding:4px 15px;border-radius:999px;background:var(--part-pill);color:#fff;font:700 13px/19px Pretendard,sans-serif;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.part-card img{height:calc(100% - 0px)}
.partner-card{align-items:stretch}
.partner-name{align-self:flex-start;text-align:left;min-width:150px;padding-left:22px;padding-right:22px}
.partner-discount{text-align:center}
@media(max-width:700px){.part-card{padding-top:37px}.part-label{left:10px;top:10px;min-width:82px;height:24px;padding:3px 12px;font-size:12px;line-height:18px}.partner-name{min-width:130px}}

/* V20 final UI alignment refinements — image/storage logic unchanged */
/* Collaboration cards: nickname pill stays at the upper-left, while its text is truly centered. */
.partner-grid{align-items:stretch}
.partner-card{min-height:205px;padding:26px 28px 24px}
.partner-name{align-self:flex-start;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:132px;max-width:100%;min-height:52px;padding:8px 24px;text-align:center;line-height:1.25}
.partner-discount{margin:auto 0;font-size:22px;line-height:1.45;text-align:center}

/* Parts: the label is content, not decoration. Center the name precisely inside its pill. */
.part-label{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:auto;min-width:104px;max-width:calc(100% - 26px);height:30px;padding:4px 16px;text-align:center;line-height:1.2}
.part-card{padding-top:45px}
.part-card .part-empty{box-sizing:border-box;width:100%;max-width:none;padding:10px 6px;text-align:center;white-space:nowrap;font-size:12px;letter-spacing:-.04em}

@media(max-width:700px){
  .partner-card{min-height:185px;padding:23px 22px 21px}
  .partner-name{min-width:118px;min-height:46px;padding:7px 19px;font-size:20px}
  .partner-discount{font-size:19px}
  .part-card{padding-top:40px}
  .part-label{min-width:88px;max-width:calc(100% - 20px);height:26px;padding:3px 11px;font-size:12px}
  .part-card .part-empty{font-size:10.5px;letter-spacing:-.06em;padding-left:3px;padding-right:3px}
}


/* V21 UI-only refinements — storage/upload logic intentionally unchanged */
/* Sale heading follows the collaboration heading: left-aligned title + customer-facing note. */
.sale-heading{display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:0 16px 22px}
.sale-heading .lower-label{margin:0;min-width:176px;box-sizing:border-box}
.sale-heading p{margin:0;color:#34728f;font:700 16px/1.45 Pretendard,sans-serif;text-align:left}

/* Collaboration nickname: upper-left placement, restrained rounded-rectangle radius. */
.partner-name{border-radius:12px;min-width:0;width:max-content;padding-left:24px;padding-right:24px}

/* Parts name: same restrained rounded-rectangle language and exact text centering. */
.part-label{border-radius:9px;min-width:104px;width:max-content;line-height:1;}

/* Empty part cards: placeholder occupies the remaining image area and is centered in both axes. */
.part-card .part-empty{position:absolute;left:0;right:0;top:45px;bottom:0;display:flex;align-items:center;justify-content:center;width:auto;max-width:none;padding:0 8px;white-space:nowrap;text-align:center;line-height:1.2}

@media(max-width:700px){
  .sale-heading{align-items:flex-start;gap:8px;margin-left:0;margin-right:0;flex-direction:column}
  .sale-heading .lower-label{min-width:154px}
  .sale-heading p{font-size:14px}
  .partner-name{border-radius:10px}
  .part-label{border-radius:8px}
  .part-card .part-empty{top:40px;font-size:11px}
}

/* V22 correction: only requested UI fixes; storage logic unchanged. */
/* Sale title + customer-facing note use the same left-aligned heading system as collaboration. */
.sale-models .section-content>.sale-heading{display:flex;align-items:center;justify-content:flex-start;gap:20px;margin:0 16px 22px}
.sale-models .sale-heading .lower-label{margin:0;min-width:176px;box-sizing:border-box}
.sale-models .sale-heading p{margin:0;color:#34728f;font:700 16px/1.45 Pretendard,sans-serif;text-align:left}
/* Keep original placeholder copy for sale model / character design / turnaround. */
.model-stage .empty-copy,.wide-stage .empty-copy{white-space:nowrap}
/* In part cards, '이미지 등록' is centered against the entire image card, not the leftover area below the name pill. */
.part-card .part-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;padding:0 8px;text-align:center;white-space:nowrap;line-height:1.2;pointer-events:none}
.part-card .part-label{z-index:4}
@media(max-width:700px){
 .sale-models .section-content>.sale-heading{align-items:flex-start;gap:8px;margin-left:0;margin-right:0;flex-direction:column}
 .sale-models .sale-heading .lower-label{min-width:154px}
 .sale-models .sale-heading p{font-size:14px}
}
