:root{
    --cpp-primary:#67159a;
    --cpp-primary-dark:#4b0c73;
    --cpp-primary-soft:#f5edfb;
    --cpp-text:#181127;
    --cpp-muted:#736a7e;
    --cpp-line:#ebe3f1;
    --cpp-whatsapp:#18a866;
    --cpp-bg:#fcfbfd;
}

.cp11-main{
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
}

.cpp-product{
    padding:28px 0 42px;
    background:var(--cpp-bg);
}

.cpp-product__grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:34px;
    align-items:start;
}

.cpp-gallery,
.cpp-summary,
.cpp-details{
    border:1px solid var(--cpp-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 34px rgba(50,25,70,.06);
}

.cpp-gallery{
    padding:18px;
}

.cpp-main-image{
    position:relative;
    min-height:520px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:15px;
    background:linear-gradient(145deg,#fff,#fbf8fd);
}

.cpp-main-image img{
    width:100%;
    height:520px;
    object-fit:contain;
    padding:20px;
}

.cpp-discount{
    position:absolute;
    z-index:2;
    left:14px;
    top:14px;
    padding:7px 11px;
    border-radius:999px;
    background:#f5246e;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.cpp-gallery-thumbs{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:12px;
}

.cpp-gallery-thumbs button{
    width:70px;
    height:70px;
    padding:4px;
    border:1px solid var(--cpp-line);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}

.cpp-gallery-thumbs button.is-active,
.cpp-gallery-thumbs button:hover{
    border-color:var(--cpp-primary);
}

.cpp-gallery-thumbs img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.cpp-summary{
    padding:30px;
}

.cpp-brand{
    margin-bottom:9px;
    color:var(--cpp-primary);
    font-size:11px;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.cpp-summary h1{
    max-width:760px;
    margin:0;
    color:var(--cpp-text);
    font-size:clamp(31px,3vw,46px);
    line-height:1.1;
    letter-spacing:-.035em;
}

.cpp-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    margin-top:16px;
    color:var(--cpp-muted);
    font-size:12px;
}

.cpp-stock{
    display:inline-flex;
    margin-top:16px;
    padding:7px 11px;
    border-radius:999px;
    background:#e8fbf0;
    color:#08763d;
    font-size:11px;
    font-weight:900;
}

.cpp-stock.is-out{
    background:#fff0f3;
    color:#cc2854;
}

.cpp-price{
    display:flex;
    align-items:center;
    gap:12px;
    margin:21px 0 13px;
}

.cpp-price strong{
    color:var(--cpp-primary);
    font-size:42px;
    line-height:1;
}

.cpp-price del{
    color:#9d95a5;
    font-size:17px;
}

.cpp-short-description{
    color:#4b4353;
    font-size:14px;
    line-height:1.65;
}

.cpp-attributes{
    display:grid;
    gap:15px;
    margin-top:21px;
    padding-top:19px;
    border-top:1px solid var(--cpp-line);
}

.cpp-attribute__label{
    margin-bottom:9px;
    color:var(--cpp-text);
    font-size:12px;
    font-weight:900;
}

.cpp-attribute__values{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.cpp-value-choice,
.cpp-color-choice{
    position:relative;
    cursor:pointer;
}

.cpp-value-choice input,
.cpp-color-choice input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.cpp-value-choice span{
    display:inline-flex;
    min-height:34px;
    align-items:center;
    justify-content:center;
    padding:8px 13px;
    border:1px solid var(--cpp-line);
    border-radius:9px;
    background:#fff;
    color:#504657;
    font-size:11px;
    font-weight:800;
}

.cpp-value-choice input:checked + span{
    border-color:var(--cpp-primary);
    background:var(--cpp-primary-soft);
    color:var(--cpp-primary);
    box-shadow:0 0 0 1px var(--cpp-primary);
}

.cpp-color-choice{
    display:flex;
    align-items:center;
    gap:7px;
    min-height:35px;
    padding:7px 10px;
    border:1px solid var(--cpp-line);
    border-radius:9px;
}

.cpp-color-choice>span{
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid #fff;
    box-shadow:0 0 0 1px #d9d1df;
}

.cpp-color-choice em{
    color:#504657;
    font-size:10px;
    font-style:normal;
    font-weight:800;
}

.cpp-color-choice:has(input:checked){
    border-color:var(--cpp-primary);
    background:var(--cpp-primary-soft);
}

.cpp-buy-box{
    display:grid;
    gap:16px;
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid var(--cpp-line);
}

.cpp-purchase-row{
    display:grid;
    grid-template-columns:150px repeat(3,minmax(0,1fr));
    gap:10px;
    align-items:end;
}

.cpp-quantity{
    display:grid;
    gap:7px;
}

.cpp-quantity>span{
    color:var(--cpp-text);
    font-size:11px;
    font-weight:900;
}

.cpp-quantity-control{
    display:grid;
    grid-template-columns:42px 1fr 42px;
    align-items:center;
    min-height:52px;
    overflow:hidden;
    border:1px solid var(--cpp-line);
    border-radius:12px;
    background:#fff;
}

.cpp-quantity-control button{
    height:50px;
    border:0;
    background:#fff;
    color:var(--cpp-primary);
    font-size:20px;
    cursor:pointer;
}

.cpp-quantity-control input{
    width:100%;
    height:50px;
    border:0;
    border-left:1px solid var(--cpp-line);
    border-right:1px solid var(--cpp-line);
    text-align:center;
    color:var(--cpp-text);
    font-size:15px;
    font-weight:900;
    appearance:textfield;
}

.cpp-quantity-control input::-webkit-inner-spin-button,
.cpp-quantity-control input::-webkit-outer-spin-button{
    margin:0;
    appearance:none;
}

.cpp-btn{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 15px;
    border-radius:12px;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    cursor:pointer;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.cpp-btn:hover{
    transform:translateY(-1px);
}

.cpp-btn__icon{
    font-size:15px;
    line-height:1;
}

.cpp-btn--order{
    border:1px solid transparent;
    background:linear-gradient(135deg,var(--cpp-primary),#8d22cb);
    color:#fff;
    box-shadow:0 10px 24px rgba(103,21,154,.2);
}

.cpp-btn--cart{
    border:1px solid var(--cpp-primary);
    background:#fff;
    color:var(--cpp-primary);
}

.cpp-btn--whatsapp{
    border:1px solid transparent;
    background:linear-gradient(135deg,#19aa69,#0e8f54);
    color:#fff;
    box-shadow:0 10px 24px rgba(24,168,102,.16);
}

.cpp-btn:disabled{
    opacity:.5;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

.cpp-service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    overflow:hidden;
    border:1px solid var(--cpp-line);
    border-radius:15px;
    background:#fff;
}

.cpp-service-card{
    min-height:108px;
    display:grid;
    grid-template-columns:50px 1fr;
    gap:12px;
    align-items:center;
    padding:18px;
    border-right:1px solid var(--cpp-line);
}

.cpp-service-card:last-child{
    border-right:0;
}

.cpp-service-card__icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:13px;
    font-size:20px;
    font-weight:900;
}

.cpp-service-card__icon--pink{
    background:#fff0f6;
    color:#ec3278;
}

.cpp-service-card__icon--purple{
    background:#f3ecfb;
    color:var(--cpp-primary);
}

.cpp-service-card__icon--green{
    background:#edf9f1;
    color:#17884f;
}

.cpp-service-card strong{
    display:block;
    color:var(--cpp-text);
    font-size:11px;
    line-height:1.45;
}

.cpp-service-card small{
    display:block;
    margin-top:4px;
    color:var(--cpp-muted);
    font-size:9px;
    line-height:1.5;
}


.cpp-details{
    margin-top:25px;
    padding:30px;
}

.cpp-details__heading span,
.cpp-section-title span{
    color:var(--cpp-primary);
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.cpp-details__heading h2,
.cpp-section-title h2{
    margin:6px 0 0;
    color:var(--cpp-text);
    font-size:27px;
    letter-spacing:-.025em;
}

.cpp-details__content{
    margin-top:20px;
    color:#504857;
    font-size:14px;
    line-height:1.85;
    white-space:normal;
}

.cpp-specifications{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin-top:26px;
    border:1px solid var(--cpp-line);
    border-radius:13px;
    overflow:hidden;
}

.cpp-specifications>div{
    display:grid;
    grid-template-columns:130px 1fr;
    gap:12px;
    padding:13px 15px;
    border-bottom:1px solid var(--cpp-line);
    background:#fff;
}

.cpp-specifications>div:nth-child(odd){
    border-right:1px solid var(--cpp-line);
}

.cpp-specifications strong{
    color:var(--cpp-text);
    font-size:11px;
}

.cpp-specifications span{
    color:var(--cpp-muted);
    font-size:11px;
}

.cpp-related{
    padding:12px 0 65px;
    background:var(--cpp-bg);
}

.cpp-section-title{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}

.cpp-section-title a{
    color:var(--cpp-primary);
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

.cpp-related-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
}

.cpp-related-grid .cp-product-card{
    min-width:0;
}

@media(max-width:1200px){
    .cpp-related-grid{
        grid-template-columns:repeat(5,minmax(0,1fr));
    }
}

@media(max-width:980px){
    .cpp-product__grid{
        grid-template-columns:1fr;
    }

    .cpp-main-image,
    .cpp-main-image img{
        min-height:420px;
        height:420px;
    }

    .cpp-related-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .cpp-product{
        padding-top:13px;
    }

    .cpp-gallery{
        padding:10px;
        border-radius:14px;
    }

    .cpp-main-image,
    .cpp-main-image img{
        min-height:340px;
        height:340px;
    }

    .cpp-main-image img{
        padding:12px;
    }

    .cpp-summary{
        padding:18px 14px;
        border-radius:14px;
    }

    .cpp-summary h1{
        font-size:27px;
    }

    .cpp-price strong{
        font-size:31px;
    }

    .cpp-price del{
        font-size:13px;
    }

    .cpp-buy-box{
        grid-template-columns:64px repeat(3,minmax(0,1fr));
        gap:6px;
    }

    .cpp-btn{
        min-height:43px;
        padding:8px 6px;
        font-size:9px;
    }

    .cpp-quantity input{
        min-height:43px;
    }

    .cpp-details{
        margin-top:14px;
        padding:18px 14px;
        border-radius:14px;
    }

    .cpp-details__heading h2,
    .cpp-section-title h2{
        font-size:22px;
    }

    .cpp-details__content{
        font-size:12px;
        line-height:1.75;
    }

    .cpp-specifications{
        grid-template-columns:1fr;
    }

    .cpp-specifications>div:nth-child(odd){
        border-right:0;
    }

    .cpp-related-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
    }

    .cpp-related-grid .cp-product-card{
        font-size:90%;
    }

    .cpp-section-title{
        align-items:center;
    }
}

@media(max-width:430px){
    .cpp-buy-box{
        grid-template-columns:58px 1fr 1fr;
    }

    .cpp-btn--whatsapp{
        grid-column:2 / 4;
    }

    .cpp-related-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}


/* =========================================================
   Product Purchase Panel Final Responsive Fix
   ========================================================= */

@media(max-width:980px){
    .cpp-purchase-row{
        grid-template-columns:130px repeat(3,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .cpp-purchase-row{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .cpp-quantity{
        grid-column:1 / -1;
    }

    .cpp-btn--order{
        grid-column:1 / -1;
    }

    .cpp-btn--cart,
    .cpp-btn--whatsapp{
        min-height:46px;
    }

    .cpp-service-grid{
        grid-template-columns:1fr;
    }

    .cpp-service-card{
        min-height:82px;
        border-right:0;
        border-bottom:1px solid var(--cpp-line);
        padding:14px;
    }

    .cpp-service-card:last-child{
        border-bottom:0;
    }
}

@media(max-width:430px){
    .cpp-purchase-row{
        grid-template-columns:1fr 1fr;
    }

    .cpp-btn--whatsapp{
        grid-column:auto;
    }
}\n\n/* =========================================================\n   Exact Product Action Row Alignment v1.0.6\n   All controls use identical 50px height and one baseline\n   ========================================================= */\n.cpp-purchase-row{\n    display:grid !important;\n    grid-template-columns:104px 210px 50px 50px !important;\n    justify-content:start !important;\n    align-items:end !important;\n    column-gap:10px !important;\n    row-gap:0 !important;\n    width:100% !important;\n}\n\n.cpp-purchase-row > *{\n    align-self:end !important;\n    margin:0 !important;\n}\n\n.cpp-quantity{\n    display:grid !important;\n    grid-template-rows:auto 50px !important;\n    gap:7px !important;\n    width:104px !important;\n    max-width:104px !important;\n}\n\n.cpp-quantity>span{\n    display:block !important;\n    margin:0 !important;\n    line-height:1 !important;\n    font-size:12px !important;\n    font-weight:900 !important;\n}\n\n.cpp-quantity-control{\n    display:grid !important;\n    grid-template-columns:32px 40px 32px !important;\n    width:104px !important;\n    height:50px !important;\n    min-height:50px !important;\n    max-height:50px !important;\n    margin:0 !important;\n    padding:0 !important;\n    overflow:hidden !important;\n    box-sizing:border-box !important;\n    border:1px solid var(--cpp-line) !important;\n    border-radius:14px !important;\n}\n\n.cpp-quantity-control button,\n.cpp-quantity-control input{\n    width:100% !important;\n    height:48px !important;\n    min-height:48px !important;\n    max-height:48px !important;\n    margin:0 !important;\n    padding:0 !important;\n    box-sizing:border-box !important;\n    border-top:0 !important;\n    border-bottom:0 !important;\n}\n\n.cpp-quantity-control button{\n    border-left:0 !important;\n    border-right:0 !important;\n    background:#fff !important;\n    color:var(--cpp-primary) !important;\n    font-size:18px !important;\n    font-weight:900 !important;\n}\n\n.cpp-quantity-control input{\n    border-left:1px solid var(--cpp-line) !important;\n    border-right:1px solid var(--cpp-line) !important;\n    text-align:center !important;\n    font-size:14px !important;\n    font-weight:900 !important;\n}\n\n.cpp-btn{\n    height:50px !important;\n    min-height:50px !important;\n    max-height:50px !important;\n    margin:0 !important;\n    padding:0 16px !important;\n    box-sizing:border-box !important;\n    border-radius:14px !important;\n    display:inline-flex !important;\n    align-items:center !important;\n    justify-content:center !important;\n    font-size:12px !important;\n    font-weight:900 !important;\n    line-height:1 !important;\n}\n\n.cpp-btn--order{\n    width:210px !important;\n    min-width:210px !important;\n    max-width:210px !important;\n}\n\n.cpp-btn--icon-only{\n    width:50px !important;\n    min-width:50px !important;\n    max-width:50px !important;\n    padding:0 !important;\n}\n\n.cpp-btn--icon-only .cpp-btn__icon,\n.cpp-btn--icon-only .cpp-btn__icon svg{\n    width:21px !important;\n    height:21px !important;\n    display:block !important;\n}\n\n@media(max-width:1100px){\n    .cpp-purchase-row{\n        grid-template-columns:96px 180px 48px 48px !important;\n        column-gap:8px !important;\n    }\n\n    .cpp-quantity{\n        width:96px !important;\n        max-width:96px !important;\n    }\n\n    .cpp-quantity-control{\n        grid-template-columns:30px 36px 30px !important;\n        width:96px !important;\n    }\n\n    .cpp-btn--order{\n        width:180px !important;\n        min-width:180px !important;\n        max-width:180px !important;\n    }\n\n    .cpp-btn--icon-only{\n        width:48px !important;\n        min-width:48px !important;\n        max-width:48px !important;\n    }\n}\n\n@media(max-width:700px){\n    .cpp-purchase-row{\n        grid-template-columns:92px minmax(120px,1fr) 44px 44px !important;\n        column-gap:7px !important;\n    }\n\n    .cpp-quantity{\n        grid-column:auto !important;\n        width:92px !important;\n        max-width:92px !important;\n    }\n\n    .cpp-quantity-control{\n        grid-template-columns:28px 36px 28px !important;\n        width:92px !important;\n    }\n\n    .cpp-btn--order{\n        grid-column:auto !important;\n        width:100% !important;\n        min-width:0 !important;\n        max-width:none !important;\n    }\n\n    .cpp-btn--icon-only{\n        width:44px !important;\n        min-width:44px !important;\n        max-width:44px !important;\n    }\n}\n

/* =========================================================
   FINAL ACTION ROW BASELINE FIX v1.0.7
   Quantity label is outside the row; all controls share exact dimensions.
   ========================================================= */
.cpp-purchase-label{
    display:block !important;
    margin:0 0 8px !important;
    color:var(--cpp-text) !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}

.cpp-purchase-row{
    display:grid !important;
    grid-template-columns:112px 190px 50px 50px !important;
    justify-content:start !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
}

.cpp-purchase-row > *{
    align-self:center !important;
    margin:0 !important;
}

.cpp-quantity-control,
.cpp-btn{
    height:50px !important;
    min-height:50px !important;
    max-height:50px !important;
    box-sizing:border-box !important;
}

.cpp-quantity-control{
    display:grid !important;
    grid-template-columns:34px 44px 34px !important;
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid var(--cpp-line) !important;
    border-radius:13px !important;
    background:#fff !important;
}

.cpp-quantity-control button,
.cpp-quantity-control input{
    width:100% !important;
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
    box-sizing:border-box !important;
}

.cpp-quantity-control button{
    border-left:0 !important;
    border-right:0 !important;
    background:#fff !important;
    color:var(--cpp-primary) !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.cpp-quantity-control input{
    border-left:1px solid var(--cpp-line) !important;
    border-right:1px solid var(--cpp-line) !important;
    text-align:center !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:48px !important;
}

.cpp-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border-radius:13px !important;
    line-height:1 !important;
}

.cpp-btn--order{
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
}

.cpp-btn--icon-only{
    width:50px !important;
    min-width:50px !important;
    max-width:50px !important;
}

@media(max-width:700px){
    .cpp-purchase-row{
        grid-template-columns:104px minmax(120px,1fr) 44px 44px !important;
        gap:7px !important;
    }
    .cpp-quantity-control{
        grid-template-columns:31px 42px 31px !important;
        width:104px !important;
        min-width:104px !important;
        max-width:104px !important;
    }
    .cpp-btn--order{
        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
    }
    .cpp-btn--icon-only{
        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;
    }
}

@media(max-width:420px){
    .cpp-purchase-row{
        grid-template-columns:98px minmax(100px,1fr) 42px 42px !important;
        gap:6px !important;
    }
    .cpp-quantity-control{
        grid-template-columns:29px 40px 29px !important;
        width:98px !important;
        min-width:98px !important;
        max-width:98px !important;
    }
    .cpp-btn--icon-only{
        width:42px !important;
        min-width:42px !important;
        max-width:42px !important;
    }
}


/* =========================================================
   Mobile Product Purchase Layout Fix v1.0.8
   ========================================================= */
@media (max-width: 700px) {
    .cpp-buy-box {
        display: block !important;
        width: 100% !important;
        margin-top: 20px !important;
        padding-top: 18px !important;
        overflow: visible !important;
    }

    .cpp-purchase-label {
        display: block !important;
        margin: 0 0 8px !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .cpp-purchase-row {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) 44px 44px !important;
        align-items: center !important;
        justify-content: stretch !important;
        gap: 7px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .cpp-purchase-row > * {
        position: static !important;
        align-self: center !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    .cpp-quantity-control {
        display: grid !important;
        grid-template-columns: 28px 40px 28px !important;
        width: 96px !important;
        min-width: 96px !important;
        max-width: 96px !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        border-radius: 12px !important;
    }

    .cpp-quantity-control button,
    .cpp-quantity-control input {
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
    }

    .cpp-btn {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        border-radius: 12px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }

    .cpp-btn--order {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        grid-column: auto !important;
        white-space: nowrap !important;
    }

    .cpp-btn--icon-only {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        padding: 0 !important;
    }

    .cpp-service-grid {
        position: static !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px 0 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        transform: none !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
    }

    .cpp-service-card {
        position: static !important;
        display: grid !important;
        grid-template-columns: 46px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 78px !important;
        padding: 13px 14px !important;
        margin: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--cpp-line) !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .cpp-service-card:last-child {
        border-bottom: 0 !important;
    }

    .cpp-service-card__icon {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 12px !important;
        font-size: 17px !important;
    }

    .cpp-service-card > div {
        min-width: 0 !important;
        width: auto !important;
    }

    .cpp-service-card strong,
    .cpp-service-card small {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .cpp-service-card strong {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .cpp-service-card small {
        margin-top: 3px !important;
        font-size: 9px !important;
        line-height: 1.45 !important;
    }

    .cpp-details {
        position: relative !important;
        clear: both !important;
        width: 100% !important;
        margin-top: 16px !important;
    }
}

@media (max-width: 390px) {
    .cpp-purchase-row {
        grid-template-columns: 90px minmax(96px, 1fr) 42px 42px !important;
        gap: 6px !important;
    }

    .cpp-quantity-control {
        grid-template-columns: 26px 38px 26px !important;
        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;
    }

    .cpp-btn--icon-only {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }
}
