/* Efsun: dark storefront, white product detail popup */
#ccProducts .portfolio-style-1 .inner-content .description {
    display: none !important
}

#ccProducts .portfolio-style-1 .content {
    display: flex;
    flex-direction: column;
    height: 100%
}

#ccProducts .portfolio-style-1 .thumbnail-wrapepr {
    order: 2;
    margin-top: 18px
}

#ccProducts .portfolio-style-1 .ef-card-actions {
    order: 3;
    margin-top: 20px;
    display: flex;
    justify-content: flex-start
}

#ccProducts .portfolio-style-1 .inner-content {
    order: 0
}

#ccProducts .portfolio-style-1 .d-flex.flex-wrap {
    order: 1;
    margin-top: 14px !important;
    margin-bottom: 8px !important
}

#ccProducts .ef-detail-button {
    border: 1px solid #ff0055;
    background: #4d0a20;
    color: white;
    border-radius: 30px;
    padding: 12px 25px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s
}

#ccProducts .ef-detail-button:hover {
    background: #d90048
}

#exampleModal .modal-content {
    background: #fff !important;
    color: #222 !important;
    border: 1px solid #eee !important;
    box-shadow: 0 25px 90px #0008
}

#exampleModal .modal-body {
    background: #fff !important
}

#exampleModal .modal-header button {
    background: #f0f0f2 !important;
    color: #222 !important
}

#exampleModal .shop-main-image {
    background: #f7f7f8 !important
}

#exampleModal .shop-thumbnails button {
    background: #fafafa !important;
    border-color: #ddd !important
}

#exampleModal .shop-thumbnails button.active {
    border-color: #ff0055 !important
}

#exampleModal .shop-info h2 {
    color: #181820 !important
}

#exampleModal .shop-info p,
#exampleModal .shop-info li,
#exampleModal .shop-section,
#exampleModal .shop-order label {
    color: #50505c !important
}

#exampleModal .shop-section,
#exampleModal .shop-order {
    border-color: #e8e8ec !important
}

#exampleModal .shop-section h4 {
    color: #24242a !important
}

#exampleModal .shop-qty {
    border-color: #ddd !important
}

#exampleModal .shop-qty button,
#exampleModal .shop-qty input {
    background: #f5f5f7 !important;
    color: #202026 !important
}

#exampleModal .ef-accordion {
    margin-top: 20px;
    border-top: 1px solid #e8e8ed;
    border-bottom: 1px solid #e8e8ed
}

#exampleModal .ef-accordion summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    padding: 18px 2px;
    color: #24242a
}

#exampleModal .ef-accordion summary::-webkit-details-marker {
    display: none
}

#exampleModal .ef-accordion summary span {
    font-size: 24px;
    font-weight: 400;
    color: #ff0055;
    transition: transform .2s
}

#exampleModal .ef-accordion[open] summary span {
    transform: rotate(45deg)
}

#exampleModal .ef-accordion-body {
    padding: 0 2px 20px;
    color: #555663;
    font-size: 15px;
    line-height: 1.85;
    white-space: pre-line
}

#exampleModal .shop-price {
    color: #ff0055 !important
}

@media(max-width:767px) {
    #ccProducts .ef-detail-button {
        width: 100%;
        min-height: 46px
    }

    #exampleModal .modal-body {
        padding-top: 66px !important
    }

    #exampleModal .shop-preview {
        gap: 18px
    }

    #exampleModal .shop-info h2 {
        font-size: 26px
    }
}

/* Efsun product editorial cards: image + readable information overlay */
#ccProducts .portfolio-style-1 .content {
    position: relative;
    display: block !important;
    padding: 20px !important
}

#ccProducts .portfolio-style-1 .inner-content,
#ccProducts .portfolio-style-1 .content>.d-flex {
    display: none !important
}

#ccProducts .portfolio-style-1 .thumbnail-wrapepr {
    position: relative !important;
    order: unset !important;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 13px;
    aspect-ratio: 533/436;
    background: #0c090d
}

#ccProducts .portfolio-style-1 .thumbnail-wrapepr figure,
#ccProducts .portfolio-style-1 .thumbnail-wrapepr figure img {
    width: 100%;
    height: 100%;
    margin: 0 !important;
    display: block
}

#ccProducts .portfolio-style-1 .thumbnail-wrapepr figure img {
    object-fit: cover !important;
    transition: transform .4s ease
}

#ccProducts .portfolio-style-1:hover .thumbnail-wrapepr figure img {
    transform: scale(1.035)
}

#ccProducts .ef-card-overlay {
    position: absolute;
    inset: 0;
    padding: 25px 27px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    z-index: 2;
    color: #fff;
    background: linear-gradient(90deg, rgba(5, 5, 10, .88) 0%, rgba(5, 5, 10, .56) 38%, transparent 76%), linear-gradient(0deg, rgba(5, 5, 10, .75), transparent 30%);
    pointer-events: none
}

#ccProducts .ef-card-eyebrow {
    font-size: 10px;
    letter-spacing: 4px;
    color: #ff3b7e;
    font-weight: 700;
    margin-bottom: 9px
}

#ccProducts .ef-card-title {
    color: white !important;
    font-size: clamp(20px, 2vw, 29px) !important;
    font-weight: 800;
    line-height: 1.13;
    margin: 0 0 7px;
    max-width: 64%;
    text-shadow: 0 2px 14px #0009
}

#ccProducts .ef-card-category {
    display: none;
    font-size: 13px;
    color: #e7dce4;
    background: #ff005522;
    border: 1px solid #ff005544;
    border-radius: 20px;
    padding: 4px 12px;
    margin: 4px 0 10px
}

#ccProducts .ef-card-description {
    font-size: 13px;
    line-height: 1.5;
    color: #f0e9ef;
    max-width: 48%;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: 0 1px 8px #000a
}

#ccProducts .ef-card-price {
    font-size: clamp(21px, 2vw, 29px);
    font-weight: 800;
    color: #ff0055;
    margin-top: 10px;
    text-shadow: 0 1px 10px #000b
}

#ccProducts .ef-detail-button {
    pointer-events: auto !important;
    margin-top: auto !important;
    min-width: 175px;
    width: 100% !important;
    text-align: center;
    background: #58001d !important;
    color: white !important;
    border: 0 !important
}

@media(max-width:767px) {
    #ccProducts .portfolio-style-1 .content {
        padding: 12px !important
    }

    #ccProducts .ef-card-overlay {
        padding: 18px 18px
    }

    #ccProducts .ef-card-title {
        font-size: 20px !important;
        max-width: 78%
    }

    #ccProducts .ef-card-description {
        font-size: 11px;
        max-width: 60%;
        -webkit-line-clamp: 2
    }

    #ccProducts .ef-card-price {
        font-size: 22px;
        margin-top: 5px
    }

    #ccProducts .ef-detail-button {

        width: 100% !important;
        min-height: 38px !important;
        padding: 9px 17px !important;
        font-size: 12px !important
    }
}

@media(max-width:390px) {
    #ccProducts .ef-card-overlay {
        padding: 12px
    }

    #ccProducts .ef-card-description {
        display: none
    }

    #ccProducts .ef-card-title {
        font-size: 17px !important
    }

    #ccProducts .ef-card-category {
        font-size: 11px;
        margin: 2px 0
    }

    #ccProducts .ef-detail-button {
        padding: 7px 13px !important
    }
}

/* Clean product card: image is unobstructed, information below image */
#ccProducts .portfolio-style-1 .thumbnail-wrapepr {
    aspect-ratio: auto !important;
    overflow: visible !important;
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important
}

#ccProducts .portfolio-style-1 .thumbnail-wrapepr figure {
    aspect-ratio: 533/436 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    flex: none !important
}

#ccProducts .portfolio-style-1 .thumbnail-wrapepr figure img {
    object-fit: cover !important
}

#ccProducts .ef-card-overlay {
    position: relative !important;
    inset: auto !important;
    background: transparent !important;
    padding: 18px 4px 4px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    align-items: center !important;
    pointer-events: auto !important
}

#ccProducts .ef-card-eyebrow,
#ccProducts .ef-card-description {
    display: none !important
}

#ccProducts .ef-card-title {
    grid-column: 1;
    max-width: none !important;
    font-size: clamp(18px, 1.8vw, 24px) !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    text-shadow: none !important
}

#ccProducts .ef-card-category {
    grid-column: 1;
    justify-self: start;
    margin: 0 !important
}

#ccProducts .ef-card-price {
    grid-column: 2;
    grid-row: 1/3;
    font-size: clamp(18px, 2vw, 25px) !important;
    margin: 0 !important;
    text-shadow: none !important;
    white-space: nowrap
}

#ccProducts .ef-detail-button {
    grid-column: 1/-1;
    justify-self: start;
    margin: 10px 0 0 !important;
    padding: 11px 24px !important;
    min-width: 0 !important;
    border-radius: 40px !important
}

.ef-order-dialog {
    width: min(1060px, calc(100vw - 24px)) !important;
    max-width: 1060px !important;
    margin: 12px auto !important
}

.ef-order-content {
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    color: #191920 !important;
    max-height: calc(100dvh - 24px) !important
}

.ef-order-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1px solid #eee;
    gap: 12px
}

.ef-order-header strong {
    color: #181820;
    font-size: 18px
}

.ef-order-actions {
    display: flex;
    align-items: center;
    gap: 16px
}

.ef-order-actions a {
    font-size: 12px;
    color: #ff0055
}

.ef-order-actions button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    font-size: 25px;
    background: #f2f2f4;
    color: #222;
    cursor: pointer
}

#efOrderFrame {
    display: block;
    width: 100%;
    height: min(77dvh, 850px);
    border: 0;
    background: white
}

.ef-order-hint {
    font-size: 11px !important;
    line-height: 1.4 !important;
    color: #777 !important;
    padding: 8px 18px;
    margin: 0 !important
}

@media(max-width:767px) {
    #ccProducts .ef-card-overlay {
        padding: 13px 2px 2px !important;
        gap: 7px
    }

    #ccProducts .ef-card-title {
        font-size: 17px !important
    }

    #ccProducts .ef-card-price {
        font-size: 18px !important
    }

    #ccProducts .ef-detail-button {
        margin-top: 5px !important
    }

    .ef-order-dialog {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        min-height: 100dvh !important
    }

    .ef-order-content {
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important
    }

    #efOrderFrame {
        height: calc(100dvh - 112px)
    }

    .ef-order-header {
        padding: 10px 12px
    }
}
.ef-info{color:#ddd}.ef-guide{height:100%;padding:24px;border:1px solid #343038;border-radius:22px;background:#19171b}.ef-guide img{height:220px;width:100%;object-fit:contain}.ef-guide h3,.ef-about h2,.ef-about h3{color:#fff;margin:18px 0}.ef-guide p,.ef-about p{color:#b9b4be;line-height:1.8}.ef-guide a,.ef-kicker{color:#ff477f}.ef-about{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:40px;border:1px solid #343038;border-radius:24px;background:#19171b}.ef-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ef-contact-item{display:flex;flex-direction:column;gap:14px;padding:30px;border:1px solid #343038;border-radius:20px;background:#19171b;color:#fff!important}.ef-contact-item span,.ef-contact-item small{color:#b9b4be}.ef-contact-item strong{font-size:19px;overflow-wrap:anywhere}.ef-footer{background:#141216;border-top:1px solid #343038;padding:40px 0;color:#aaa}.ef-footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.ef-footer nav{display:flex;gap:20px;flex-wrap:wrap}.ef-footer a{color:#ddd}.ef-footer p{margin:25px 0 0;font-size:13px}@media(max-width:767px){.ef-about,.ef-contact-grid{grid-template-columns:1fr}.ef-about{padding:24px;gap:12px}.ef-footer-row{align-items:flex-start;flex-direction:column}.ef-guide img{height:180px}}
