.pcj-chaleco-page{background:#fff!important;color:#07132b;font-family:Arial,Helvetica,sans-serif;padding:24px 14px 70px}
.pcj-chaleco-page *{box-sizing:border-box}
.pcj-chaleco-shell{max-width:860px;margin:auto}
.pcj-intro{text-align:center}
.pcj-intro h1{font:700 clamp(25px,4vw,38px)/1.13 Arial,Helvetica,sans-serif!important;letter-spacing:-.025em;color:#07132b!important;margin:0 auto 8px!important;max-width:650px}
.pcj-intro p{font-size:clamp(17px,2.5vw,23px);margin:0 0 9px;color:#07132b}
.pcj-price{font-size:19px;font-weight:700;color:#07132b;margin-bottom:10px}
.pcj-price del{opacity:.55;margin-right:8px}
.pcj-unavailable{text-align:center;color:#a40000}

/* SVG vector vest preview: color stays inside its exact silhouette. */
#pcj-chaleco .pcj-illustrations{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:670px!important;width:100%!important;margin:12px auto 0!important;align-items:start!important;clear:both!important}
#pcj-chaleco .pcj-vest{display:block!important;width:100%!important;min-width:0!important;position:relative!important;aspect-ratio:1/1!important;background:#fff!important;overflow:hidden!important;border:0!important;float:none!important}
#pcj-chaleco svg.pcj-vest-svg{display:block!important;width:100%!important;height:100%!important;max-width:none!important;overflow:visible!important}
#pcj-chaleco .pcj-vest-svg image{opacity:1!important;visibility:visible!important}
.pcj-preview-note{text-align:center;margin:0 0 16px}
.pcj-pip{display:inline-block;width:10px;height:10px;background:#ccd0d6;border-radius:50%;margin:0 4px}
.pcj-pip.active{background:#05080d}

.pcj-step{margin:15px 0 18px}
.pcj-step h2{font:700 clamp(18px,2.3vw,24px)/1.25 Arial,Helvetica,sans-serif!important;color:#0c1936!important;margin:0 0 10px!important}
.pcj-help{font-size:12px;color:#5d6472;margin:0 0 12px;line-height:1.45}

.pcj-front-colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pcj-front-choice{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;border:2px solid transparent;border-radius:13px;padding:3px 3px 5px;min-width:0;font-size:13px;line-height:1.12;text-align:center;color:#161616}
.pcj-front-choice:has(input:checked){border-color:#0d1527}
.pcj-front-choice input{position:absolute;opacity:0;width:1px;height:1px}
.pcj-color-tile{width:100%;height:88px;border-radius:10px;position:relative}
.pcj-check{display:none;position:absolute;top:6px;right:6px;background:#fff;color:#07132b;border-radius:50%;width:26px;height:26px;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.pcj-front-choice:has(input:checked) .pcj-check{display:flex}
.pcj-color-name{margin-top:7px}

.pcj-color-select{display:flex;align-items:center;gap:11px;padding:8px 13px!important;background:#fff!important;border:1px solid #afb5c2!important;border-radius:10px!important;width:100%;font-size:15px!important;color:#10192c!important;cursor:pointer;min-height:53px;text-align:left}
.pcj-sel-dot{width:31px;height:31px;border-radius:6px;background:#102b4a;display:inline-block;flex-shrink:0}
.pcj-chevron{margin-left:auto;font-size:26px}

.pcj-pattern-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px 20px}
.pcj-pattern-row label:not(.pcj-file-button){font-size:14px;display:flex;align-items:center;gap:6px;cursor:pointer}
.pcj-pattern-row input{accent-color:#1367e7;width:20px;height:20px}
.pcj-file-button{display:inline-block;border:1px solid #0e1420;border-radius:9px;padding:10px 12px;font-weight:600;font-size:13px;cursor:pointer;color:#101010}
.pcj-upload-status{font-size:12px;margin:6px 0;color:#253a61}

.pcj-sizes{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.pcj-sizes label{cursor:pointer;position:relative}
.pcj-sizes input{position:absolute;opacity:0;width:1px;height:1px}
.pcj-sizes span{display:flex;justify-content:center;align-items:center;border:1px solid #b8bdc6;border-radius:9px;background:#fff;min-height:48px;font-size:17px;font-weight:700;color:#080c14}
.pcj-sizes input:checked+span{background:#202020;border-color:#202020;color:#fff}

.pcj-measures{border-top:1px solid #d0d0d0;padding-top:15px}
.pcj-measure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pcj-measure-grid label{font-size:13px;font-weight:600;color:#141414;line-height:1.25}
.pcj-measure-grid input{display:block;margin-top:7px;width:100%!important;min-width:0;background:white!important;border:1px solid #b5bac2!important;border-radius:8px!important;padding:12px 10px!important;min-height:48px;font-size:15px!important;color:#101010!important}

.pcj-palette-section{border-top:1px solid #ddd;padding-top:18px;scroll-margin-top:90px}
.pcj-back-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 9px}
.pcj-back-option{position:relative;display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:7px;border:1px solid #c7cbd0;min-width:0;font-size:12px;cursor:pointer;line-height:1.25;color:#101010}
.pcj-back-option:has(input:checked){border:2px solid #08152b;padding:4px 7px}
.pcj-back-option input{position:absolute;opacity:0;width:1px;height:1px}
.pcj-back-option>span:last-child{min-width:0;overflow-wrap:anywhere}
.pcj-back-color{width:17px;height:17px;border-radius:50%;flex-shrink:0;border:1px solid #ddd}

.pcj-notes label{font-size:14px;font-weight:700;display:block;margin-bottom:8px}
.pcj-notes textarea{width:100%!important;background:#fff!important;border:1px solid #b8bdc6!important;border-radius:8px!important;padding:12px!important;color:#101010!important}
.pcj-buy-wrap{position:sticky;bottom:0;padding:10px 0;background:#fff;z-index:20}
.pcj-buy{width:100%;background:#050505!important;color:white!important;border:0!important;border-radius:13px!important;min-height:66px;font-size:clamp(17px,3.3vw,24px)!important;font-weight:700!important;letter-spacing:0!important;cursor:pointer}
.pcj-buy span{margin-right:9px}
.pcj-buy:disabled{opacity:.45;cursor:not-allowed}

.pcj-gallery{margin-top:22px;border-top:1px solid #ddd;padding-top:18px}
.pcj-gallery h2{font:700 clamp(18px,2.3vw,24px)/1.25 Arial,Helvetica,sans-serif!important;color:#0c1936!important;margin:0 0 14px!important}
.pcj-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pcj-gallery-item{margin:0;background:#fff;border:1px solid #e3e5e8;border-radius:12px;padding:8px;overflow:hidden}
.pcj-gallery-item img{display:block;width:100%;height:auto;border-radius:8px}

.pcj-description{margin-top:24px;border-top:1px solid #ddd;padding:14px 4px;color:#111}
.pcj-description summary{cursor:pointer;font-weight:700}
.pcj-description>div{padding-top:14px;line-height:1.5}

@media(max-width:600px){
.pcj-chaleco-page{padding:14px 13px 60px}
.pcj-front-colors{gap:6px}
.pcj-color-tile{height:61px}
.pcj-front-choice{font-size:11px;padding:2px 2px 5px}
.pcj-illustrations{gap:8px;margin-top:2px}
.pcj-step{margin:11px 0 15px}
.pcj-pattern-row{gap:9px 12px}
.pcj-measure-grid{grid-template-columns:1fr}
.pcj-measure-grid label{font-size:11px}
.pcj-measure-grid input{font-size:13px!important;padding:9px 7px!important}
.pcj-back-grid{gap:5px}
.pcj-back-option{font-size:10px;gap:4px;padding:4px}
.pcj-back-option:has(input:checked){padding:3px}
.pcj-back-color{height:14px;width:14px}
.pcj-buy{min-height:58px!important}
.pcj-sizes{gap:6px}
.pcj-sizes span{min-height:44px;font-size:15px}
.pcj-gallery-grid{grid-template-columns:1fr 1fr;gap:10px}
.pcj-front-buttons span{min-width:8px;max-width:12px}
}
@media(max-width:360px){
.pcj-pattern-row label:not(.pcj-file-button){font-size:12px}
.pcj-color-name{font-size:10px}
.pcj-back-option{font-size:9px}
.pcj-back-color{height:12px;width:12px}
}

/* Strong layout isolation against WooCommerce / Elementor / theme form rules */
#pcj-chaleco{display:block!important;width:100%!important;max-width:none!important;position:relative!important;clear:both!important;float:none!important;overflow:visible!important;padding-top:48px!important}
#pcj-chaleco .pcj-chaleco-shell{display:block!important;width:min(100%,860px)!important;max-width:860px!important;margin:0 auto!important;clear:both!important}
#pcj-chaleco .pcj-chaleco-form{display:block!important;position:relative!important;width:100%!important;max-width:none!important;float:none!important;clear:both!important;margin:0!important;padding:0!important}
#pcj-chaleco .pcj-step{display:block!important;float:none!important;clear:both!important;width:100%!important;max-width:none!important;margin:22px 0!important}
#pcj-chaleco .pcj-front-colors{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}
#pcj-chaleco .pcj-back-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important}
#pcj-chaleco .pcj-sizes{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important}
#pcj-chaleco .pcj-measure-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important}
#pcj-chaleco .pcj-buy-wrap{position:static!important;display:block!important;float:none!important;clear:both!important;width:100%!important;margin:22px 0 0!important;padding:0!important;z-index:auto!important}
#pcj-chaleco .pcj-gallery{display:block!important;float:none!important;clear:both!important;width:100%!important}
#pcj-chaleco .pcj-gallery-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
#pcj-chaleco .pcj-intro{display:block!important;clear:both!important;text-align:center!important}
#pcj-chaleco .pcj-intro h1{padding:0!important}
@media(max-width:600px){
#pcj-chaleco{padding-top:22px!important}
#pcj-chaleco .pcj-measure-grid{grid-template-columns:1fr!important}
#pcj-chaleco .pcj-illustrations{gap:4px!important}
#pcj-chaleco .pcj-step{margin:18px 0!important}
}
