/* Photo overlays scale with their own image frame. */
.gallery-main,.gallery-main>a,.detail-photo-grid a,.image-viewer-stage{container-type:inline-size}
.gallery-main>a,.detail-photo-grid a,.image-viewer-stage{position:relative}
.product-number{
 --badge-inset:clamp(.375rem,2cqw,.75rem);
 position:absolute;top:calc(var(--photo-top,0px) + var(--badge-inset));right:calc(var(--photo-right,0px) + var(--badge-inset));bottom:auto;left:auto;
 z-index:3;display:inline-flex;align-items:center;align-self:start;justify-self:end;gap:.3em;width:max-content;height:auto;min-height:0;max-width:calc(100% - 2 * var(--badge-inset));
 padding:.4em .6em;background:#123963e8;color:#fff;border:1px solid #ffffff85;border-radius:.375rem;box-shadow:0 2px 6px #0002;
 font-size:clamp(.75rem,3cqw,.875rem);line-height:1.25;white-space:nowrap;pointer-events:none
}
.product-number b{font-size:clamp(.875rem,3.6cqw,1.125rem);line-height:1.2;letter-spacing:.025em}
.product-number[hidden]{display:none}
.image-viewer-stage>.product-number{z-index:5}
.image-viewer-stage #image-full{min-width:0}
.gallery-main .image-zoom-label{font-size:clamp(.875rem,3.5cqw,1rem);line-height:1.3;gap:.4em;padding:.55em .7em;border-width:1px;border-radius:.4rem;left:clamp(.5rem,2cqw,.875rem);bottom:clamp(.5rem,2cqw,.875rem);box-shadow:0 2px 8px #0b244e35}
.gallery-main .image-zoom-label svg{width:1.1em;height:1.1em}
.gallery-photo-counter{font-size:clamp(.75rem,3cqw,.875rem);line-height:1.3;padding:.4em .6em;right:clamp(.5rem,2cqw,.875rem);bottom:clamp(.5rem,2cqw,.875rem)}
.gallery-step{font-size:clamp(.75rem,3.2cqw,.875rem);line-height:1.2;width:2.75rem;height:2.75rem;top:50%;transform:translateY(-50%);font-weight:650}
.gallery-back{left:clamp(.375rem,1.5cqw,.75rem)}
.gallery-forward{right:clamp(.375rem,1.5cqw,.75rem)}
.detail-photo-grid a>.detail-photo-caption{font-size:clamp(.75rem,3cqw,.875rem);line-height:1.3;padding:.4em .6em;bottom:clamp(.5rem,2cqw,.75rem);right:clamp(.5rem,2cqw,.75rem)}
.image-viewer-head h2{font-size:clamp(.875rem,2.4vw,1rem);min-width:0;line-height:1.4}
.image-viewer-controls{font-size:clamp(.75rem,2.8vw,.875rem);gap:.375rem}
.image-viewer .btn,.image-viewer-controls .btn{font-size:clamp(.75rem,2.8vw,.875rem);line-height:1.35;padding:.5em .7em;min-height:2.75rem}
.image-viewer-head .btn{flex-shrink:0}
.image-viewer-stage{touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain}
.image-viewer-stage img{-webkit-user-drag:none;user-select:none}
.image-viewer-stage.original-size{touch-action:auto}
@media(max-width:800px){#filter-form{scroll-margin-top:10rem}}
.publication-options{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.publication-choice{position:relative;display:inline-flex!important;cursor:pointer}.publication-choice input{position:absolute;opacity:0;width:1px!important;height:1px!important}.publication-choice span{padding:12px 20px;background:#f3f6fa;border:1px solid #bacddd;border-radius:8px;color:#47637b;min-width:120px;text-align:center;font-size:16px;font-weight:700}.publication-choice input:checked+span{background:#2464c9;border-color:#2464c9;color:white}.publication-choice input:focus-visible+span{outline:3px solid #70a5ee;outline-offset:3px}.row-publication{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.row-publication button{font-size:14px;padding:6px 9px!important;white-space:nowrap;border-radius:5px;border:1px solid #c7d4e1;background:#f7f9fc;color:#60768b}.row-publication button[aria-pressed=true]{background:#e8f2ff;color:#1d57a9;border-color:#a1bce3}.admin-site-links{display:grid;gap:8px;margin:16px 0}.admin-site-links strong{font-size:14px;color:#fff}.admin-site-links a{color:#d9e7f7;font-size:14px}.connected-search-addresses{display:grid;gap:8px;padding:20px;background:#eef4fb;margin:24px 0}.connected-search-addresses a{overflow-wrap:anywhere;font-size:14px;color:#2464c9}.seo-catalog-intro{padding:24px 0;border-top:1px solid #d8e4f0;background:#f6f9fd}.seo-catalog-intro h2{font-size:1.35rem;margin-bottom:10px}.seo-catalog-intro p,.nationwide-info p{font-size:16px;line-height:1.85;color:#496278}.catalog-guide-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.ton-link{font-size:14px;padding:8px 10px;border:1px solid #cbdcec;background:white;border-radius:5px;color:#315579}.nationwide-info{padding:30px 0;border-top:1px solid #dce5ef}.nationwide-info h2{font-size:1.45rem;margin-bottom:12px}.nationwide-info p+p{margin-top:10px}.footer a[href$="/admin/"]{display:inline-block;font-weight:750;color:#194e93;padding:10px 16px;border:1px solid #bccfe7;border-radius:6px;background:white}
@media(max-width:640px){.publication-choice span{padding:11px 14px}.seo-catalog-intro{padding:20px 0}.catalog-guide-links{gap:8px}.nationwide-info h2{font-size:1.3rem}}
.admin-login-wrap{min-height:560px;display:grid;place-items:center;padding:48px 20px;background:linear-gradient(135deg,#edf5ff,#f8fbff)}.admin-login-card{width:min(100%,460px);padding:36px;background:white;border:1px solid #d0def0;border-top:5px solid #2464c9;border-radius:14px;box-shadow:0 12px 40px #153e7112}.login-brand{display:block;color:#123963;font-size:25px;font-weight:850;margin-bottom:28px}.login-brand small{display:block;font-size:14px;font-weight:600;color:#527699;letter-spacing:.04em}.admin-login-card h1{font-size:28px;margin:7px 0 10px}.admin-login-card>p{font-size:16px;line-height:1.75;color:#547087}.admin-login-card form{display:grid;gap:9px;margin:25px 0 18px}.admin-login-card label{font-size:16px;font-weight:750;margin-top:7px}.admin-login-card input{font:inherit;font-size:18px;width:100%;padding:13px 14px;border:1px solid #b5c9e1;border-radius:6px;min-height:52px}.admin-login-card input:focus{outline:3px solid #b6d4ff;outline-offset:2px}.admin-login-card .btn{margin-top:12px;font-size:18px;padding:14px}.admin-login-card .login-help{font-size:14px}.login-back{font-size:15px;color:#235ea8;display:inline-block;margin-top:12px;text-decoration:underline}.admin-login-card .login-error{padding:12px;background:#fff0f2;border-left:3px solid #c62843;color:#a92139;font-size:15px}.admin-logout{background:transparent;color:white;border:1px solid #7893b4;border-radius:5px;padding:9px 16px;font:inherit;font-size:15px;cursor:pointer}.domain-settings{background:#f4f8ff;border:1px solid #ccdaed;padding:24px;margin:24px 0;border-radius:8px}.domain-settings h3{font-size:23px;margin:8px 0 12px}.domain-settings p{font-size:16px;line-height:1.85;margin:10px 0}.domain-settings a{color:#205daa;text-decoration:underline}.dns-table code{font-size:14px;overflow-wrap:anywhere;white-space:normal;user-select:all}.dns-table td:last-child{min-width:230px}.dns-table button{margin-left:9px;padding:5px 8px;font-size:14px;background:white;border:1px solid #b4cbe5;border-radius:4px}.domain-settings>.btn{margin-top:18px}.domain-registration{border-top:1px solid #cfdded;padding-top:19px;margin-top:20px}.domain-registration h4{font-size:19px}.domain-registration ol{padding-left:22px;font-size:16px;line-height:1.9}.domain-registration li{margin-top:7px}@media(max-width:640px){.admin-login-wrap{padding:26px 15px;min-height:520px}.admin-login-card{padding:28px 22px}.domain-settings{padding:17px}.domain-settings h3{font-size:21px}}
.listing-share-dialog{width:min(94vw,560px);max-height:90dvh;padding:24px;border:1px solid #cbdcf0;border-radius:14px;color:var(--ink);overflow:auto;background:white}.listing-share-dialog::backdrop{background:#061320b3}.listing-share-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.listing-share-heading h2{font-size:clamp(1.25rem,4vw,1.5rem)}.listing-share-heading .btn{padding:8px 12px}.listing-share-name{font-size:1rem;font-weight:700;margin-bottom:18px}.listing-share-dialog .listing-kakao-share{width:100%;background:#fee500;border-color:#e5cc00;color:#252018}.listing-share-help{font-size:.875rem;color:#60748a;line-height:1.65;margin:10px 0 18px}.listing-share-dialog label{display:block;font-size:.875rem;font-weight:700;margin-bottom:7px}.listing-share-dialog input,.listing-share-dialog textarea{width:100%;font:inherit;font-size:1rem;border:1px solid #c8d8ea;border-radius:7px;padding:10px 12px;min-height:44px}.listing-share-dialog textarea{resize:vertical;overflow-wrap:anywhere;line-height:1.65;background:#f5f8fc}.listing-share-dialog form{display:grid;gap:8px}.listing-share-dialog form label{margin:0}.listing-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.listing-share-actions .btn{flex:1}.listing-share-open{width:100%}@media(max-width:560px){.listing-share-dialog{padding:18px}.listing-share-dialog .btn{font-size:.875rem}}

/* Compact catalog cards and vehicle details. */
.vehicle-group-recommended .vehicle-group-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.vehicle-group-recommended .spec-cover{aspect-ratio:16/10;padding:16px}
.vehicle-group-recommended .card-body{padding:14px}
.vehicle-group-recommended .vehicle-card h3{font-size:1rem}
.vehicle-group-recommended .spec-cover .capacity{font-size:2.3rem}
.vehicle-group-recommended .type-stamp{position:static;align-self:flex-start;margin-top:8px}
.vehicle-group-recommended .cover-bottom{display:none}
.type-text-image{display:grid;place-items:center;aspect-ratio:3/2;background:linear-gradient(145deg,#e6f0ff,#bdd4f3);color:#164d8d;font-size:clamp(1rem,2vw,1.5rem);font-weight:700}
.year-range{display:grid;gap:8px}
.vehicle-basics h3{font-size:clamp(1.05rem,2vw,1.25rem);margin:12px 0 8px}
.vehicle-basics .basic-heading h2{font-size:1.2rem}
.vehicle-basics .spec-table th,.vehicle-basics .spec-table td{font-size:14px;padding:9px 12px;line-height:1.6}
.vehicle-basics .spec-table th{width:155px}
.vehicle-basics .registration-price>strong{font-size:1rem}
.vehicle-basics .registration-price .price{font-size:1.4rem}
.listing-side .document-section{padding:18px;background:#f4f8ff;border:1px solid #d9e5f5;border-radius:8px}
.listing-side .document-section h2{font-size:1.15rem}
@media(max-width:1100px){.vehicle-group-recommended .vehicle-group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.vehicle-group-recommended .vehicle-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-group-recommended .card-body{padding:12px 10px}.vehicle-group-recommended .spec-cover{padding:12px}.vehicle-group-recommended .spec-cover .capacity{font-size:2rem}.vehicle-basics .spec-table th{width:108px}.vehicle-basics .spec-table th,.vehicle-basics .spec-table td{font-size:13px;padding:8px}}

/* Prominent red photo arrows, without obstructing the vehicle. */
.gallery-step,#image-prev,#image-next{color:#d71920;background:#fff;border:2px solid #d71920;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:6px;border-radius:50%;box-shadow:0 2px 8px #0003}
.gallery-step svg,#image-prev svg,#image-next svg{width:28px;height:28px;flex:none}
.gallery-step:hover,#image-prev:hover,#image-next:hover{background:#fff0f0;color:#b50e15}
.gallery-step:disabled,#image-prev:disabled,#image-next:disabled{opacity:.45;box-shadow:none}
 .card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:4px;font-size:.875rem;letter-spacing:-.03em;flex-wrap:nowrap}
.card-meta span{white-space:nowrap}
@media(max-width:640px){.card-meta{font-size:.75rem;gap:2px;letter-spacing:-.04em}}

/* Photo badges stay at one corner rather than stretching to the lower edge. */
.gallery-main .product-number,.detail-photo-grid a>.product-number,.image-viewer-stage>.product-number{
 position:absolute;inset:auto;top:calc(var(--photo-top,0px) + clamp(6px,2cqw,12px));right:calc(var(--photo-right,0px) + clamp(6px,2cqw,12px));bottom:auto;left:auto;
 display:inline-flex;align-items:center;justify-content:center;align-self:start;justify-self:end;
 width:max-content;height:max-content;min-width:0;min-height:0;max-height:none;max-width:calc(100% - 24px);
 padding:.35em .55em;font-size:clamp(11px,2.6cqw,14px);line-height:1.3;border-radius:5px;white-space:nowrap;transform:none
}
.gallery-main .product-number b,.detail-photo-grid .product-number b,.image-viewer-stage .product-number b{font-size:clamp(13px,3.1cqw,18px);line-height:1.25}
.gallery-main .image-zoom-label{font-size:clamp(12px,3cqw,16px);padding:.5em .65em;gap:.35em}
.gallery-main .image-zoom-label svg{width:1.05em;height:1.05em}
.gallery-main .gallery-photo-counter{font-size:clamp(11px,2.6cqw,14px);padding:.35em .55em;line-height:1.3}
.gallery-main .gallery-step,#image-prev,#image-next{color:#d71920;background:#fff;border:2px solid #d71920;width:clamp(36px,8cqw,44px);height:clamp(36px,8cqw,44px);min-height:0;padding:5px;border-radius:50%;box-shadow:0 2px 8px #0003}
.gallery-main .gallery-step svg,#image-prev svg,#image-next svg{width:clamp(20px,5cqw,28px);height:clamp(20px,5cqw,28px)}
.gallery-main .gallery-step:disabled,#image-prev:disabled,#image-next:disabled{opacity:.65}
.detail-photo-grid img{width:100%;height:auto;min-height:0;max-height:550px;aspect-ratio:4/3;object-fit:contain}
