.pcBuilder,
.pcBuilder * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background-color: #f5f5f5;
    font-family: Nunito, Arial, Helvetica, sans-serif
}

.pcBuilder {
    width: 100%;
    margin-top: 40px;
    height: auto !important
}

.pcBuilderContainer {
    flex-direction: column;
    align-items: flex-start;
    position: relative
}

.pcBuilderContainerLeft {
    width: 30%;
    position: fixed;
    top: 220px;
    height: auto;
    margin-left: 70px;
    overflow-y: auto;
}

.selectedPartsHeader {
    margin-bottom: 15px;
}

.selectedPartsHeader span {
    font-size: 24px;
    margin-right: 5px
}

.pcBuilderContainerRight {
    width: 65%;
    margin-left: 33%;
    padding: 1px 0 30px 30px;
    min-height: auto;
    top: 0
}

.processorModel {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-block: 15px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012
}

.msiLogo {
    margin-inline: 5px
}

.amdLogo {
    background-color: #fff
}

.case-image-crop {
    background-color: #fff;
    text-align: center;
}

.caseImg {
    background-color: #fff;
    max-width: 209px;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: all .3s ease;
    margin: 0 auto;
    display: block;
    z-index: 1
}

.mainPcBuilder {
    padding: 100px;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012;
    background-color: #fff;
    margin-top: 15px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
    max-height: 450px;
    overflow: hidden;
    z-index: 1
}

.mainPcBuilder a {
    text-decoration: none
}

.mainPcBuilder span {
    color: #000;
    background-color: #fff
}

.aClass {
    display: flex;
    justify-content: center;
    cursor: pointer;
    align-items: center;
    flex-direction: column;
    width: 60px;
    border: 1px solid #e4e5e7;
    box-shadow: 0 2px 6px #0000001f;
    font-size: 11px;
    background-color: #fff;
    border-radius: 10px;
    position: absolute;
    z-index: 2
}

.aClass.topCenter {
    top: 63%;
    left: 50%;
    transform: translate(-50%, -260px);
}

.aClass.topRight {
    top: 60%;
    left: 40%;
    transform: translate(170px, -200px);
}

.aClass.rightCenter {
    top: 45%;
    left: 27%;
    transform: translate(260px, -50%);
}

.aClass.bottomRight {
    top: 14%;
    left: 40%;
    transform: translate(170px, 200px);
}

.aClass.bottomCenter {
    top: 24%;
    left: 43%;
    transform: translate(-50%, 260px);
}

.aClass.bottomLeft {
    top: 27%;
    left: 50%;
    transform: translate(-170px, 200px);
}

.aClass.leftCenter {
    top: 50%;
    left: 65%;
    transform: translate(-260px, -50%);
}

.aClass.topLeft {
    top: 60%;
    left: 50%;
    transform: translate(-170px, -200px);
}

/* 9-cu komponent */
.aClass.middleCenter {
    top: 32%;
    left: 63%;
    transform: translate(0px, 210px);
}

.buyInfo {
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012;
    padding: 20px;
    background-color: #fff
}

.addButton {
    display: flex;
    border: none;
    border-radius: 4px;
    padding: 20px 15px;
    background-color: #1a62e7;
    font-size: 16px;
    cursor: pointer;
    color: #fff
}

.addButton img {
    width: 32px
}

.addButton span {
    display: block;
    margin-left: 5px;
    color: #fff;
    background-color: #1a62e7
}

.pricess {
    font-size: 26px;
    font-weight: 700;
    background-color: #fff
}

.creditInfo,
.creditInfoP {
    color: #1a62e7;
    background-color: #fff;
    font-size: 14px
}

.shopIcon {
    background-color: #1a62e7;
    color: #fff
}

.infoLeft,
.infoRight {
    background-color: #fff;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .pcBuilderContainerLeft {
        width: 95%;
        position: static;
        height: auto;
        margin-left: 0
    }

    .pcBuilder {
        padding-left: 15px
    }

    .pcBuilderContainerRight {
        width: 100%;
        margin: 10px 0 0;
        padding: 1px 0 30px;
        min-height: 100vh
    }

    .addButton {
        width: 87%;
        padding: 15px;
        justify-content: center;
        align-items: center;
        margin-left: 5px
    }

    .infoRight {
        width: 80%;
        justify-content: center
    }

    .buyInfo {
        padding: 5px 15px
    }

    .caseImg {
        width: 100% !important
    }

    .price {
        height: 25px
    }
}

@media (min-width: 481px) and (max-width: 530px) {
    .summaryList {
        margin-top: 45px
    }
}

@media (min-width: 531px) and (max-width: 570px) {
    .summaryList {
        margin-top: 55px
    }
}

@media (min-width: 570px) and (max-width: 700px) {
    .summaryList {
        margin-top: 85px
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .pcBuilderContainerLeft {
        width: 95%;
        position: static;
        margin-left: 0
    }

    .pcBuilder {
        padding-left: 15px
    }

    .pcBuilderContainerRight {
        width: 100%;
        margin: 30px 0 0;
        padding: 1px 0 30px
    }

    .addButton {
        width: 70%;
        padding: 15px;
        justify-content: center;
        align-items: center;
        margin-left: 5px
    }

    .infoRight {
        width: 50%
    }

    .buyInfo {
        padding: 5px 15px
    }

    .caseImg {
        width: 100% !important
    }

    .price {
        height: 25px
    }
}

@media (min-width: 767px) and (max-width: 1200px) {
    .pcBuilderContainerRight {
        width: 55%;
        margin-left: 44%
    }

    .pcBuilderContainerLeft {
        margin-left: 0;
        width: 45%
    }

    .pcBuilder {
        padding-left: 0
    }

    .mainPcBuilder,
    .processorModel {
        width: 100%
    }

    .buyInfo {
        width: 100%;
        padding: 10px
    }

    .addButton {
        padding: 15px 10px
    }

    .creditInfoP {
        width: 100%
    }

    .infoLeft {
        width: 50%
    }

    .infoRight {
        justify-content: center
    }
}

@media (min-width: 1024px) {
    .caseImg {
        width: 100%
    }
}

.right-products {
    display: block;
    padding-left: 20px
}

.product-category-block {
    margin-bottom: 40px;
    width: 100%
}

.product-category-group {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 15px
}

.product-grid-item {
    width: calc((100% - 60px)/5);
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0 2px 8px #0000000f;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform .2s ease;
    overflow: hidden
}

.product-grid-item:hover {
    transform: translateY(-3px)
}

.product-grid-item img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    border-radius: 6px;
    margin-bottom: 10px;
    background-color: #fff
}

.product-grid-item.selected {
    outline: 2px solid #007bff;
    box-shadow: 0 0 10px #007bff66;
    border-radius: 10px
}

.selectedPartsHeader {
    margin-left: 0;
}

.product-grid-item p {
    font-size: 14px;
    font-weight: 500;
    height: 40px;
    overflow: hidden;
    margin-bottom: 5px;
    line-height: 1.3em;
    background-color: #fff
}

.product-grid-item .price {
    color: #1eb23f;
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 18px;
    display: none
}

.product-grid-item .add-to-cart {
    background-color: #2e6ee0;
    color: #fff;
    padding: 8px 12px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    width: 100%;
    margin-top: auto
}

.product-grid-item .add-to-cart:hover {
    background-color: #204fc2
}

.category-title {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 700;
    padding: 15px 0 15px 15px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012
}

.product-skeleton {
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 15px;
    background: #fff;
    animation: pulse 1.5s infinite ease-in-out;
    height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1 1 calc(25% - 20px);
    max-width: calc(25% - 20px);
    min-width: 230px
}

.skeleton-img,
.skeleton-text,
.skeleton-price,
.skeleton-button {
    background: #e0e0e0;
    border-radius: 6px
}

.skeleton-img {
    height: 180px;
    margin-bottom: 10px
}

.skeleton-text {
    height: 16px;
    width: 70%;
    margin-bottom: 10px
}

.skeleton-price {
    height: 14px;
    width: 40%;
    margin-bottom: 10px
}

.skeleton-button {
    height: 32px;
    width: 100%
}

@keyframes pulse {
    0% {
        background-color: #eee
    }

    50% {
        background-color: #ddd
    }

    to {
        background-color: #eee
    }
}

.category-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    margin-right: 5px;
    background-color: #fff
}

.summaryList {
    background-color: #f5f5f5;
    padding-bottom: 20px 0;
    border-radius: 8px;
    margin-bottom: 25px
}

.summaryList h2 {
    font-size: 20px;
    margin-bottom: 15px;
    padding: 15px 0 15px 15px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012
}

.summaryItem {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px
}

.summaryIcon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 4px
}

.summaryItem button {
    margin-left: auto;
    background-color: transparent;
    color: #007bff;
    border: none;
    cursor: pointer;
    font-weight: 500
}

.emptySummary {
    font-style: italic;
    color: #888;
    padding: 8px 0 4px;
    margin-left: 5px
}

.pcSystemInfo {
    margin-top: 30px;
    padding: 15px 0 15px 25px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012;
    line-height: 30px
}

.pcSystemInfo p,
h3 {
    background-color: #fff
}

.generalContainer {
    width: 100%;
    padding: 5px;
    display: flex;
    height: 85px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 24px #00000012;
    margin-bottom: 20px;
    cursor: pointer
}

.systemParts {
    width: 50%;
    display: flex;
    background-color: #fff;
    padding: 12px;
    border-radius: 10px
}

.systemParts img {
    width: 50px;
    background-color: #fff
}

.systemParts span {
    display: flex;
    flex-direction: column
}

.computerAccessories img {
    width: 50px;
    background-color: #fff
}

.computerAccessories {
    width: 50%;
    display: flex;
    padding: 12px;
    background-color: #fff;
    margin-left: 20px;
    border-radius: 10px
}

.generalContainer span {
    display: flex;
    flex-direction: column;
    background-color: #fff
}

.spanleft {
    margin: 8px 0 0 5px;
    background-color: #fff
}

.spanRight {
    background-color: #fff;
    margin: 8px 0 0 5px
}

.spanleft span:nth-child(2) {
    font-size: 12px
}

.spanRight span:nth-child(2) {
    font-size: 12px
}

.selectes {
    background-color: #1a62e7;
    border-color: #999
}

.selectes img {
    background-color: #1a62e7 !important;
    border-color: #999
}

.selectes .spanleft span,
.selectes .spanRight span {
    background-color: #1a62e7 !important
}

.selectes .spanRight,
.selectes .spanleft {
    color: #fff;
    background-color: #1a62e7 !important
}

.summaryItem strong {
    width: 15%
}

.summaryItem button {
    padding: 4px 8px;
    font-size: 13px
}

.summaryItem span {
    width: 70%
}

.summaryItem button:last-child {
    background: transparent;
    border: none;
    font-size: 16px;
    cursor: pointer
}

@media (max-width: 480px) {
    .right-products {
        display: block;
        width: 95%;
        padding-left: 0
    }

    .product-category-block {
        margin: 120px 0 40px;
        width: 100%;
        text-align: center
    }

    .summaryList {
        background-color: #f5f5f5;
        padding-bottom: 20px 0;
        border-radius: 8px;
        margin: 45px 0;
        width: 100%
    }

    .generalContainer {
        flex-direction: column;
        width: 100%;
        padding: 0
    }

    .computerAccessories {
        margin: 10px 0 0;
        width: 100%
    }

    .systemParts {
        width: 100%
    }

    .generalContainer span {
        font-size: 22px
    }

    .spanleft span:first-child {
        font-size: 25px
    }

    .spanleft span:last-child {
        font-size: 15px
    }

    .spanRight span:last-child {
        font-size: 15px
    }

    .product-grid-item {
        width: 45%
    }

    .product-category-group {
        padding-left: 0
    }

    .category-title {
        width: 89%;
        margin-left: 25px
    }

    .spanRight {
        margin-left: 10px
    }

    .summaryList {
        font-size: 14px
    }

    .summaryItem strong {
        font-size: 12px;
        width: 40%
    }
}

@media (min-width: 481px) and (max-width: 767px) {
    .right-products {
        display: block;
        width: 95%;
        padding-left: 0;
        margin-top: 18%
    }

    .product-category-block {
        margin-top: 110px;
        width: 100%;
        text-align: center
    }

    .summaryList {
        background-color: #f5f5f5;
        padding-bottom: 20px 0;
        border-radius: 8px;
        margin-bottom: 25px;
        width: 100%
    }

    .generalContainer {
        flex-direction: column;
        width: 100%;
        padding: 0
    }

    .computerAccessories {
        margin: 10px 0 0;
        width: 100%
    }

    .systemParts {
        width: 100%
    }

    .generalContainer span {
        font-size: 22px
    }

    .spanleft span:first-child {
        font-size: 25px
    }

    .spanleft span:last-child {
        font-size: 15px
    }

    .spanRight span:last-child {
        font-size: 15px
    }

    .product-grid-item {
        width: 47.5%
    }

    .product-category-group {
        padding-left: 25px
    }

    .category-title {
        width: 93%;
        margin-left: 25px
    }

    .spanRight {
        margin-left: 10px
    }

    .summaryList {
        font-size: 15px
    }

    .summaryItem strong {
        font-size: 15px;
        width: 40%
    }

    .summaryItem button {
        font-size: 15px
    }
}

@media (min-width: 767px) and (max-width: 1200px) {
    .product-grid-item {
        width: calc((130%) / 3)
    }

    .generalContainer {
        flex-direction: column;
        padding: 0
    }

    .generalContainer div {
        width: 100%;
        margin: 0
    }

    .product-category-block {
        margin-top: 18%
    }
}

.scrollToTop {
    position: fixed;
    right: 20px;
    bottom: 80px;
    z-index: 3;
    height: 50px;
    background-color: #fff;
    color: #000;
    border: none;
    padding: 12px 14px;
    border-radius: 50%;
    font-size: 22px;
    box-shadow: 0 4px 12px #00000040;
    cursor: pointer;
    transition: all .3s ease
}

.scrollToTop:hover {
    background-color: #f5f5f5;
    transform: translateY(-2px)
}

.caseImg {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    object-fit: contain;
    transition: all .3s ease;
    z-index: 1;
    background-color: #fff
}

@media(min-width:1560px) {
    .caseImg {
        max-width: 85%
    }
}

@media(min-width:1700px) {
    .caseImg {
        max-width: 75%
    }
}

@media(min-width:1920px) {
    .caseImg {
        max-width: 70%
    }
}

.credit-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(4px);
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.credit-modal {
    background: white;
    padding: 30px;
    border-radius: 12px;
    width: 90%;
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    z-index: 1000000;
}

.credit-form h2 {
    margin-bottom: 20px;
    text-align: center;
}

.credit-form label {
    margin-bottom: 6px;
    font-weight: bold;
}

.credit-form input,
.credit-form select {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

.credit-form button {
    width: 100%;
    padding: 12px;
    background-color: #1976d2;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
}

.credit-form button:hover {
    background-color: #125ea9;
}

.close-btn {
    position: absolute;
    margin-bottom: 10px;
    right: 16px;
    font-size: 20px;
    background: none;
    border: none;
    cursor: pointer;
    color: #888;
}

.credit-form input::-webkit-input-placeholder {
    color: #aaa !important
}

.credit-form input:-moz-placeholder {
    color: #aaa !important;
    opacity: 1
}

.credit-form input::-moz-placeholder {
    color: #aaa !important;
    opacity: 1
}

.credit-form input:-ms-input-placeholder {
    color: #aaa !important
}

.credit-form input::placeholder {
    color: #aaa !important
}

.credit-form select option:disabled {
    color: #aaa !important
}

.creditBuyButton {
    width: 76%;
    margin-left: 0;
    background-color: #1a62e7 !important;
}

.cash-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000
}

.cash-modal-content {
    background-color: #fff;
    max-height: 90vh;
    overflow-y: auto;
    padding: 20px;
    border-radius: 8px;
    width: 800px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2)
}

h2 {
    text-align: center
}

.input-group {
    margin-bottom: 15px
}

.input-group label {
    display: block;
}

.input-group input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px
}

.product-list {
    list-style-type: none;
    padding: 0
}

.product-list li {
    background-color: #f9f9f9;
    padding: 8px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-radius: 4px
}

button[type="submit"] {
    width: 25%;
    padding: 10px;
    margin: auto;
    background-color: #1a62e7;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer
}

button[type="submit"]:hover {
    background-color: #2e6ee0
}

button[type="submit"]:active {
    transform: scale(0.95);
    box-shadow: 0 0 20px rgba(25, 118, 210, 0.5);
}

.thank-you-message {
    text-align: center
}

.thank-you-message button {
    margin-top: 10px;
    padding: 8px 16px;
    background-color: #f44336;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer
}

.thank-you-message button:hover {
    background-color: #e53935
}

.cash-modal-content form {
    padding: 20px;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
}

.product-list {
    margin-bottom: 20px
}

.cash-modal-overlay h2 {
    padding-bottom: 10px;
}

.cash-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    backdrop-filter: blur(4px);
    animation: fadeIn 0.3s ease
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.cash-modal-content {
    transform: scale(0.9);
    background: linear-gradient(135deg, #fff, #f0f0f0);
    padding: 30px;
    border-radius: 5px;
    width: 90%;
    max-width: 800px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(255, 255, 255, 0.3);
    transform: translateY(-50px);
    animation: zoomIn 0.4s ease forwards;
}

@keyframes zoomIn {
    0% {
        transform: scale(0.9);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes slideIn {
    to {
        transform: translateY(0)
    }
}

.input-group {
    margin-bottom: 20px
}

.input-group label {
    font-weight: bold;
    display: block;
    margin-bottom: 8px
}

.input-group input {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.3s;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1)
}

.input-group input:focus {
    border-color: #1976d2;
    outline: none
}

.product-list {
    list-style: none;
    padding: 0;
    margin: 20px 0
}

.product-list li {
    padding: 10px 15px;
    background: #fafafa;
    margin-bottom: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1)
}

button[type=submit] {
    width: 35%;
    padding: 12px 0;
    background: linear-gradient(135deg, #1976d2, #42a5f5);
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: background .3s, transform .2s
}

button[type=submit]:hover {
    background: linear-gradient(135deg, #1565c0, #2196f3);
    transform: translateY(-2px)
}

.thank-you-message {
    text-align: center;
    padding: 40px 20px
}

.thank-you-message h3 {
    font-size: 22px;
    color: #1976d2;
    margin-bottom: 20px
}

.thank-you-message button {
    padding: 12px 90px;
    background: #1976d2;
    border: none;
    color: #fff;
    font-weight: bold;
    border-radius: 8px;
    cursor: pointer;
    transition: background .3s
}

.thank-you-message button:hover {
    background: #125a9c
}

.input-group input::placeholder {
    color: #aaa;
    transition: color 0.2s;
}

.input-group input:focus::placeholder {
    color: transparent;
}