.paq-personalitzador {
    --paq-purple: #6d639f;
    --paq-purple-dark: #544783;
    --paq-orange: #f6a900;
    --paq-ink: #27232c;
    --paq-muted: #777681;
    --paq-border: #786db1;
    --paq-soft: #f6f4fc;
    box-sizing: border-box;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 26px 0 48px;
    color: var(--paq-ink);
    font-family: 'Barlow', sans-serif;
    font-size: 15px;
    line-height: 1.5;
    scroll-margin-top: 110px;
}
.paq-personalitzador *, .paq-personalitzador *::before, .paq-personalitzador *::after {box-sizing: border-box}
.paq-personalitzador [hidden] {display: none !important}
.paq-personalitzador .paq-main-title {
    font-family: 'tomarik-extrovert', 'Barlow', sans-serif !important;
    color: #19151c;
    font-size: clamp(29px, 3.15vw, 47px);
    font-weight: 300;
    letter-spacing: .105em;
    line-height: 1.18;
    margin: 0 0 14px;
    padding: 0;
    text-transform: none;
}
.paq-personalitzador .paq-step-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 18px;
}
.paq-personalitzador .paq-step-title {
    font-family: 'Barlow', sans-serif !important;
    color: var(--e-global-color-text, #29252b) !important;
    font-size: clamp(18px, 1.7vw, 23px);
    font-style: italic !important;
    font-weight: 500 !important;
    line-height: 1.25;
    margin: 0;
    padding: 0;
}
.paq-personalitzador .paq-counter {font-size: 12px; letter-spacing: .12em; color: var(--paq-purple); font-weight: 600; white-space: nowrap}
.paq-personalitzador .paq-progress {width: 100%; height: 3px; overflow: hidden; background: #eeeaf8; border-radius: 5px; margin-bottom: 17px}
.paq-personalitzador .paq-progress-fill {width: 16.666%; height: 100%; background: var(--paq-purple); transition: width .25s ease}
.paq-personalitzador .paq-form {position: relative; margin: 0}
.paq-personalitzador .paq-step {min-height: 348px; animation: paq-fade .18s ease-out}
@keyframes paq-fade {from {opacity: .65; transform: translateY(3px)} to {opacity: 1; transform: translateY(0)}}
.paq-personalitzador .paq-field {margin: 0 0 23px; min-width: 0}
.paq-personalitzador .paq-label {display: block; font-family: 'Barlow', sans-serif; color: #28252b; font-weight: 600; font-size: 14px; line-height: 1.45; margin: 0 0 12px}
.paq-personalitzador label.paq-label > .paq-input {margin-top: 9px}
.paq-personalitzador .paq-required {color: #d05c3c}
.paq-personalitzador .paq-muted, .paq-personalitzador .paq-helper {color: var(--paq-muted); font-size: 12px; font-weight: 400}
.paq-personalitzador .paq-helper {margin: 9px 0 0}
.paq-personalitzador .paq-helper:empty {display: none}
.paq-personalitzador .paq-row-label {display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; align-items: baseline}
.paq-personalitzador .paq-row-label .paq-label {margin-bottom: 12px}
.paq-personalitzador .paq-intro {margin: 0 0 20px; color: #57515c}
.paq-personalitzador .paq-choices {display: flex; flex-wrap: wrap; gap: 8px}
.paq-personalitzador .paq-choices--garment .paq-choice {flex: 1 1 155px; max-width: 230px}
.paq-personalitzador .paq-choices--fit .paq-choice {flex: 1 1 145px; max-width: 245px}
.paq-personalitzador .paq-choices--design .paq-choice {flex: 1 1 180px; max-width: 280px}
.paq-personalitzador .paq-choices--locations .paq-choice {flex: 0 1 192px}
.paq-personalitzador .paq-choices--sizes .paq-choice {flex: 0 1 160px}
.paq-personalitzador .paq-choice {position: relative; display: block; cursor: pointer; margin: 0; min-width: 0}
.paq-personalitzador .paq-choice input {position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none}
.paq-personalitzador .paq-choice > span {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--paq-border);
    background: #fff;
    border-radius: 7px;
    color: #37313b;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    padding: 9px 12px;
    transition: background .15s ease, color .15s ease;
}
.paq-personalitzador .paq-choice:hover > span {background: var(--paq-soft)}
.paq-personalitzador .paq-choice input:checked + span {background: var(--paq-purple); color: #fff; border-color: var(--paq-purple)}
.paq-personalitzador .paq-choice input:focus-visible + span {outline: 3px solid #d6caef; outline-offset: 2px}
.paq-personalitzador .paq-choice input:checked + span:hover {background: var(--paq-purple-dark)}
.paq-personalitzador .paq-garment-cards {display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 14px; margin-top: 0}
.paq-personalitzador .paq-garment-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 1px solid #ddd8eb;
    border-radius: 10px;
    background: #fcfbfe;
    color: #2d2833;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    margin: 0;
}
.paq-personalitzador .paq-garment-card input {position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none}
.paq-personalitzador .paq-garment-card:has(input:focus-visible) {outline: 3px solid #d6caef; outline-offset: 2px}
.paq-personalitzador .paq-garment-card:hover {background: #f8f5fd; border-color: #c8c0e0}
.paq-personalitzador .paq-garment-card.is-active {background: #fff; border-color: var(--paq-purple)}
.paq-personalitzador .paq-garment-card-image {position: relative; overflow: hidden}
.paq-personalitzador .paq-garment-card-image img {display: block; width: 100%; height: 100%; object-fit: contain}
.paq-personalitzador .paq-garment-card-image.is-updated::after {content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: 10px; background: radial-gradient(circle, rgba(141,113,224,.3) 0%, rgba(141,113,224,.13) 43%, transparent 80%); animation: paq-image-glow .65s ease-out both}
@keyframes paq-image-glow {0% {opacity: 0} 23% {opacity: 1} 100% {opacity: 0}}
.paq-personalitzador .paq-garment-card-image {display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 16px 16px 8px; background: #fbfafe}
.paq-personalitzador .paq-garment-card-body {display: flex; flex-direction: column; gap: 7px; padding: 10px 12px 14px; text-align: center}
.paq-personalitzador .paq-garment-card-body strong {font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--paq-purple-dark)}
.paq-personalitzador .paq-garment-card-body small {display: block; font-size: 12px; line-height: 1.45; color: #6f6a78}
.paq-personalitzador .paq-swatches {display: flex; flex-wrap: wrap; gap: 10px; align-items: center}
.paq-personalitzador .paq-swatch {position: relative; display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; cursor: pointer; margin: 0}
.paq-personalitzador .paq-swatch input, .paq-personalitzador .paq-color-other input {position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none}
.paq-personalitzador .paq-swatch-dot {display: block; width: 34px; height: 34px; border: 1px solid rgba(0,0,0,.18); background: var(--paq-swatch-color); border-radius: 50%; transition: transform .15s ease}
.paq-personalitzador .paq-swatch:hover .paq-swatch-dot {transform: scale(1.08)}
.paq-personalitzador .paq-swatch input:checked + .paq-swatch-dot {outline: 2px solid var(--paq-purple); outline-offset: 2px}
.paq-personalitzador .paq-swatch input:focus-visible + .paq-swatch-dot {outline: 3px solid var(--paq-purple); outline-offset: 3px}
.paq-personalitzador .paq-color-other {position: relative; cursor: pointer; margin-left: 5px}
.paq-personalitzador .paq-color-other span {display: inline-flex; align-items: center; min-height: 34px; border: 1px solid var(--paq-purple); border-radius: 8px; padding: 5px 12px; color: var(--paq-purple); font-size: 13px}
.paq-personalitzador .paq-color-other input:checked + span {background: var(--paq-purple); color: white}
.paq-personalitzador .paq-color-specific {margin-top: 13px; max-width: 330px}
.paq-personalitzador .paq-input, .paq-personalitzador .paq-textarea, .paq-personalitzador .paq-select {
    display: block;
    width: 100%;
    min-height: 42px;
    font-family: 'Barlow', sans-serif;
    font-size: 14px;
    color: #29232e;
    border: 1px solid var(--paq-border);
    background: #fff;
    padding: 10px 13px;
    margin: 0;
    border-radius: 7px;
    outline: none;
    box-shadow: none;
    line-height: 1.4;
    transition: border-color .15s ease;
}
.paq-personalitzador .paq-input:focus, .paq-personalitzador .paq-textarea:focus, .paq-personalitzador .paq-select:focus {border-color: var(--paq-purple-dark); box-shadow: none}
.paq-personalitzador .paq-input::placeholder, .paq-personalitzador .paq-textarea::placeholder {color: #98949e; opacity: 1}
.paq-personalitzador .paq-input--short {max-width: 240px}
.paq-personalitzador .paq-input--medium {max-width: 380px}
.paq-personalitzador .paq-textarea {min-height: 170px; resize: vertical}
.paq-personalitzador .paq-textarea--small {min-height: 90px}
.paq-personalitzador .paq-select {max-width: 430px; appearance: auto}
.paq-personalitzador .paq-select--other {max-width: 440px; min-height: 47px; padding: 11px 41px 11px 15px; appearance: none; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c629c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position: right 14px center; background-repeat: no-repeat; background-size: 16px; cursor: pointer}
.paq-personalitzador .paq-select--other:focus {border-color: #6c629c; outline: 2px solid #d6caef; outline-offset: 1px; box-shadow: none}
.paq-personalitzador .paq-size-grid {display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: 9px; max-width: 940px}
.paq-personalitzador .paq-size-item {display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 8px; border: 1px solid #dfdbe9; border-radius: 9px; background: #fcfbfe; margin: 0; min-width: 0}
.paq-personalitzador .paq-size-item > span {font-size: 14px; font-weight: 600; color: var(--paq-purple-dark); text-align: center}
.paq-personalitzador .paq-size-item .paq-size-input {
    display: block !important;
    width: 100% !important;
    max-width: 92px;
    min-height: 36px;
    margin: 0 auto !important;
    padding: 6px 8px !important;
    text-align: center !important;
    text-align-last: center !important;
    font-variant-numeric: tabular-nums;
    appearance: textfield;
    -moz-appearance: textfield;
}
.paq-personalitzador .paq-size-item .paq-size-input::-webkit-outer-spin-button,
.paq-personalitzador .paq-size-item .paq-size-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.paq-personalitzador .paq-total {display: flex; justify-content: space-between; align-items: center; max-width: 940px; border-top: 1px solid #e9e6ee; margin-top: 16px; padding-top: 12px; font-weight: 500}
.paq-personalitzador .paq-total strong {font-size: 20px; color: var(--paq-purple)}
.paq-personalitzador .paq-two-col {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 19px; max-width: 850px}
.paq-personalitzador .paq-two-col .paq-field {margin-bottom: 0}
.paq-personalitzador .paq-upload-box {display: flex; gap: 16px; align-items: center; max-width: 650px; border: 1px dashed var(--paq-border); background: #fbfaff; border-radius: 9px; padding: 16px 20px; cursor: pointer; transition: background .15s ease; margin: 0}
.paq-personalitzador .paq-upload-box:hover {background: var(--paq-soft)}
.paq-personalitzador .paq-upload-plus {display: flex; align-items: center; justify-content: center; flex: 0 0 38px; height: 38px; color: var(--paq-purple); font-size: 27px; font-weight: 300; border-radius: 50%; border: 1px solid var(--paq-purple)}
.paq-personalitzador .paq-upload-box strong, .paq-personalitzador .paq-upload-box small {display: block; line-height: 1.5; font-size: 14px}
.paq-personalitzador .paq-upload-box small {font-size: 12px; color: #77717e; margin-top: 1px}
.paq-personalitzador .paq-file-list {display: flex; flex-direction: column; max-width: 650px; gap: 7px; margin-top: 9px}
.paq-personalitzador .paq-file-chip {display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; background: #f4f2fa; border-radius: 7px; padding: 8px 11px; font-size: 12px; overflow-wrap: anywhere}
.paq-personalitzador .paq-file-chip small {color: #6b6580}
.paq-personalitzador .paq-file-help {margin: 10px 0 0}
.paq-personalitzador .paq-inline-check {display: flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 14px; line-height: 1.5; max-width: 740px; margin: 0}
.paq-personalitzador .paq-inline-check > input {appearance: auto; flex: 0 0 17px; margin: 3px 0 0; width: 17px; height: 17px; accent-color: var(--paq-purple)}
.paq-personalitzador .paq-inline-check a {color: var(--paq-purple); text-decoration: underline}
.paq-personalitzador .paq-final-note {margin: 22px 0 0; font-size: 15px; color: #52495f; font-weight: 500}
.paq-personalitzador .paq-form-error {border-left: 3px solid #b93640; border-radius: 4px; padding: 11px 14px; background: #fff0f1; color: #9d2831; font-size: 13px; margin: 12px 0 8px}
.paq-personalitzador .paq-is-invalid:not([type="radio"]):not([type="checkbox"]) {border-color: #d53b49 !important}
.paq-personalitzador .paq-actions {display: flex; justify-content: center; align-items: center; gap: 15px; margin-top: 22px}
.paq-personalitzador .paq-actions button {display: inline-flex; justify-content: center; align-items: center; min-width: 205px; min-height: 40px; border-radius: 7px; border: 1px solid var(--paq-orange); padding: 10px 18px; margin: 0; font-family: 'Barlow', sans-serif; font-weight: 600; font-size: 15px; line-height: 1.3; cursor: pointer; transition: background .15s ease, color .15s ease, transform .15s ease}
.paq-personalitzador .paq-next, .paq-personalitzador .paq-submit {background: var(--paq-orange); color: var(--paq-purple-dark)}
.paq-personalitzador .paq-next:hover, .paq-personalitzador .paq-submit:hover {background: #e99e00; color: var(--paq-purple-dark); transform: translateY(-1px)}
.paq-personalitzador .paq-back {border-color: var(--paq-purple) !important; color: var(--paq-purple) !important; background: white !important}
.paq-personalitzador .paq-back:hover {background: var(--paq-soft) !important}
.paq-personalitzador .paq-submit[disabled] {opacity: .65; cursor: wait; transform: none}
.paq-personalitzador .paq-trap {position: absolute; left: -99999px; top: -99999px; opacity: 0; pointer-events: none}
.paq-personalitzador .paq-success {text-align: center; padding: 65px 16px; background: #f9f7ff; border: 1px solid #e4def3; border-radius: 15px}
.paq-personalitzador .paq-success-icon {display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; color: white; background: var(--paq-purple); border-radius: 50%; font-size: 28px}
.paq-personalitzador .paq-success h3 {color: var(--paq-purple-dark); font-size: 28px; margin: 15px 0 8px}
.paq-personalitzador .paq-success p {font-size: 16px; max-width: 580px; margin: 0 auto}
@media (max-width: 767px) {
    .paq-personalitzador {padding: 15px 0 30px; scroll-margin-top: 85px}
    .paq-personalitzador .paq-main-title {font-size: clamp(26px, 6.5vw, 37px); letter-spacing: .055em; margin-bottom: 17px}
    .paq-personalitzador .paq-step-title {font-size: 18px}
    .paq-personalitzador .paq-step {min-height: 0}
    .paq-personalitzador .paq-field {margin-bottom: 21px}
    .paq-personalitzador .paq-choices {gap: 8px}
    .paq-personalitzador .paq-choices--garment .paq-choice {flex: 1 1 calc(50% - 8px); max-width: none}
    .paq-personalitzador .paq-choices--fit .paq-choice {flex: 1 1 calc(33.333% - 8px); max-width: none}
    .paq-personalitzador .paq-choices--design .paq-choice {flex: 1 1 100%; max-width: none}
    .paq-personalitzador .paq-choices--locations .paq-choice {flex: 1 1 calc(50% - 8px)}
    .paq-personalitzador .paq-choices--sizes .paq-choice {flex: 1 1 calc(50% - 8px)}
    .paq-personalitzador .paq-choice > span {font-size: 13px; padding: 9px 6px; min-height: 40px}
    .paq-personalitzador .paq-garment-cards {grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 0}
    .paq-personalitzador .paq-garment-card-image {padding: 12px 12px 6px}
    .paq-personalitzador .paq-garment-card-body {padding: 8px 10px 12px}
    .paq-personalitzador .paq-garment-card-body strong {font-size: 14px}
    .paq-personalitzador .paq-garment-card-body small {font-size: 11px}
    .paq-personalitzador .paq-size-grid {grid-template-columns: repeat(3, minmax(0,1fr))}
    .paq-personalitzador .paq-two-col {grid-template-columns: 1fr; gap: 0}
    .paq-personalitzador .paq-two-col .paq-field {margin-bottom: 21px}
    .paq-personalitzador .paq-actions {gap: 9px; margin-top: 21px}
    .paq-personalitzador .paq-actions button {min-width: 0; flex: 1 1 50%}
    .paq-personalitzador .paq-actions button:only-child {max-width: 240px}
}
@media (prefers-reduced-motion: reduce) {
    .paq-personalitzador .paq-step {animation: none}
    .paq-personalitzador .paq-progress-fill, .paq-personalitzador .paq-choice > span, .paq-personalitzador .paq-actions button {transition: none}
}

.paq-personalitzador,
.paq-personalitzador *,
.paq-personalitzador *::before,
.paq-personalitzador *::after {
    box-shadow: none !important;
    text-shadow: none !important;
}

.paq-personalitzador .paq-choices--technique .paq-choice {flex: 0 1 245px}
.paq-personalitzador .paq-textarea--design-text {min-height: 92px; height: 92px; max-width: 760px; resize: vertical}
.paq-personalitzador .paq-textarea--comments {min-height: 105px; height: 105px; max-width: 760px; resize: vertical}
@media (max-width: 767px) {
    .paq-personalitzador .paq-choices--technique .paq-choice {flex: 1 1 100%}
    .paq-personalitzador .paq-textarea--design-text {min-height: 90px}
}
