* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: "Roboto", sans-serif;
}

:root {
    --c1: #cb2a6b;
    --c2: #64bee2;
}

a {
    text-decoration: none;
}

ul {
    padding: 0;
    margin: 0;
}

li {
    list-style: none;
}

/* header  */
.topbar p {
    margin: 0;
    font-size: 14px;
    color: #fff;
}

.topbar {
    background: var(--c2);
    padding: 10px 0;
}

.topdesclaimerslider .slick-slide {
    margin: 0 20px;
}

.location {
    display: flex;
    align-items: center;
    gap: 5px;
}

.location p {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.location p span {
    display: block;
    font-size: 14px;
    font-weight: 400;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.location i {
    font-size: 30px;
}

.mainHeader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.logo {
    width: 170px;
    height: auto;
    background: var(--c2);
    position: absolute;
    left: 50%;
    top: 0;
    transform: translatex(-50%);
    padding: 20px 20px 50px;
    border-radius: 0 0 100px 100px;
    border: 6px solid #fff;
    border-top: 0;
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.topIcons {
    display: flex;
    align-items: center;
}

.topIcons li {
    font-size: 25px;
    padding: 0 10px;
    border-right: 1px solid #4444;
    position: relative;
}

.topIcons li:nth-last-child(1) {
    border: none;
}

.cart span {
    font-size: 12px;
    background: var(--c1);
    width: 20px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 100%;
    line-height: 20px;
    position: absolute;
    top: -5px;
    right: -5px;
}

.headerMain {
    padding: 15px 0;
    position: relative;
    z-index: 1;
    transition: 300ms all;
    background: #fff;
    z-index: 99;
}

.header {
    box-shadow: 0 0 15px 1px #4444;
    position: relative;
    z-index: 2;
}

/* header  */
/* banner */
.bannerImg {
    width: 100%;
    height: 76vh;
}

.bannerImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.headerMain.active {
    position: fixed;
    top: 0;
    width: 100%;
    height: auto;
    box-shadow: 0 0 15px 1px #4444;
}

/* banner */
/* product */
.nav-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    border: none;
}

.nav-tabs li button {
    padding: 10px 30px !important;
    font-size: 14px;
    color: var(--c1) !important;
    border: 1px solid var(--c1) !important;
    border-radius: 50px !important;
}


.nav-tabs li button.active {
    background: var(--c1) !important;
    color: #fff !important;
}

.productsSection {
    padding: 0 0 70px 0;
}

.proImg {
    width: 100%;
    height: 235px;
    border-radius: 10px;
    overflow: hidden;
}

.proImg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 300ms all;
}

.proCrd {
    padding: 9px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(36, 29, 32, 0.11);
    cursor: pointer;
    border: 1px solid rgba(203, 42, 107, 0.09);
    transition: transform 350ms ease, box-shadow 350ms ease, border-color 350ms ease;
    margin: 0 0 26px;
    overflow: hidden;
}

.proContent h4 {
    font-size: 28px;
    margin: 10px 0 0;
    font-weight: 700;
}

.proContent>p {
    margin: 10px 0;
    font-size: 14px;
    color: #0000008a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.price {
    display: flex;
    align-items: center;
    gap: 10px;
}

.price del {
    font-size: 16px;
    color: #00000096;
}

.price p {
    margin: 0;
    font-size: 30px;
    font-weight: 800;
    color: var(--c1);
}

.proBtns {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 10px 0 0;
}

.proBtns a,
.proBtns button {
    width: 50%;
    text-align: center;
    font-size: 14px;
    padding: 10px 0;
    border-radius: 12px;
    border: 1px solid transparent;
    transition: 300ms all;
    background: transparent;
}

.themebtn.--trans {
    border-color: var(--c1);
    color: var(--c1);
}

.themebtn.--bg {
    background: var(--c2);
    color: #fff;
}

.mainProSection {
    padding: 40px 0 0;
}

.themebtn.--bg:hover {
    background: transparent;
    color: var(--c1);
    border-color: var(--c1);
}

.themebtn.--trans:hover {
    background: var(--c1);
    border-color: transparent;
    color: #fff;
}

.proContent {
    padding: 13px 10px 11px;
}

.proCrd:hover .proImg img {
    transform: scale(1.08) rotate(1deg);
}

.proCrd:hover {
    transform: translateY(-9px);
    border-color: rgba(203, 42, 107, 0.45);
    box-shadow: 0 20px 45px rgba(203, 42, 107, 0.17);
}

.protabs {
    border-bottom: 1px solid #4444;
    padding: 25px 0;
}

.proImg {
    position: relative;
}

.proImg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(203, 42, 107, 0.16), transparent 45%);
    opacity: 0;
    transition: opacity 350ms ease;
    pointer-events: none;
}

.proCrd:hover .proImg::after {
    opacity: 1;
}

.themebtn.--bg {
    box-shadow: 0 7px 16px rgba(100, 190, 226, 0.3);
}

.proBtns a:hover,
.proBtns button:hover {
    transform: translateY(-2px);
}

/* footer */
.siteFooter {
    position: relative;
    overflow: hidden;
    background: #18242b;
    color: #fff;
    padding: 70px 0 0;
}

.footerContent {
    position: relative;
    z-index: 1;
}

.footerBrand {
    max-width: 480px;
}

.footerLogo {
    display: inline-block;
    width: 155px;
    margin-bottom: 22px;
}

.footerLogo img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 7px 14px rgba(0, 0, 0, .18));
}

.footerBrand>p {
    color: rgba(255, 255, 255, .72);
    line-height: 1.8;
    font-size: 15px;
    margin: 0;
}

.footerTitle {
    font-size: 23px;
    font-weight: 700;
    margin: 5px 0 22px;
}

.footerTitle::after {
    content: '';
    display: block;
    width: 45px;
    height: 3px;
    margin-top: 9px;
    border-radius: 5px;
    background: var(--c1);
}

.footerAddresses {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 28px;
}

.addressItem {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.addressItem i {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--c1);
    font-size: 17px;
}

.addressItem p {
    margin: 0;
}

.addressItem strong,
.addressItem span {
    display: block;
}

.addressItem strong {
    font-size: 14px;
    margin-bottom: 4px;
}

.addressItem span {
    color: rgba(255, 255, 255, .63);
    font-size: 13px;
    line-height: 1.5;
}

.footerBottom {
    margin-top: 48px;
    padding: 20px 0;
    text-align: center;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.footerBottom p {
    margin: 0;
    color: rgba(255, 255, 255, .66);
    font-size: 14px;
}

.footerGlow {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .14;
}

.footerGlowOne {
    width: 240px;
    height: 240px;
    background: var(--c1);
    left: -100px;
    top: -100px;
}

.footerGlowTwo {
    width: 280px;
    height: 280px;
    background: var(--c2);
    right: -140px;
    bottom: 10px;
}

/* polished storefront */
html {
    scroll-behavior: smooth;
}

body {
    color: #252026;
    background: #fffdfd;
    overflow-x: hidden;
}

/* Keep the original clean banner slider */
.bannerImg::after {
    display: none;
}

.serviceStrip {
    margin-top: 0;
}

.topIcons li i {
    transition: color 250ms ease, transform 250ms ease;
}

.topIcons li:hover i {
    color: var(--c1);
    transform: translateY(-2px);
}

.mainBanner {
    position: relative;
}

.bannerImg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(25, 20, 23, .72), rgba(25, 20, 23, .35) 48%, rgba(25, 20, 23, .04) 75%);
}

.heroContent {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    z-index: 1;
    pointer-events: none;
}

.heroCopy {
    width: 600px;
    max-width: 56%;
    color: #fff;
    pointer-events: auto;
}

.eyebrow {
    display: inline-flex;
    padding: 8px 14px;
    margin-bottom: 16px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
    font-size: 13px;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.heroCopy h1 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: .98;
    font-weight: 800;
    letter-spacing: -2px;
    margin-bottom: 20px;
}

.heroCopy h1 em {
    display: block;
    color: #f293b9;
    font-style: normal;
}

.heroCopy>p {
    max-width: 530px;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .84);
}

.heroActions {
    display: flex;
    gap: 12px;
    margin-top: 28px;
}

.heroBtn {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    transition: 250ms ease;
}

.heroBtn.primary {
    background: var(--c1);
    color: #fff;
    box-shadow: 0 10px 25px rgba(203, 42, 107, .32);
}

.heroBtn.secondary {
    border: 1px solid rgba(255, 255, 255, .55);
    color: #fff;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(5px);
}

.heroBtn:hover {
    transform: translateY(-3px);
}

.heroBtn.primary:hover {
    background: #ad1d56;
    color: #fff;
}

.heroBtn.secondary:hover {
    background: #fff;
    color: #252026;
}

.serviceStrip {
    position: relative;
    z-index: 1;
    margin-top: -36px;
}

.serviceGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border-radius: 18px;
    padding: 22px 10px;
    box-shadow: 0 15px 45px rgba(43, 32, 37, .12);
}

.serviceItem {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 5px 18px;
    border-right: 1px solid #eee4e8;
}

.serviceItem:last-child {
    border: none;
}

.serviceItem>i {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    color: var(--c1);
    background: rgba(203, 42, 107, .09);
    font-size: 22px;
}

.serviceItem strong,
.serviceItem span {
    display: block;
}

.serviceItem strong {
    font-size: 14px;
}

.serviceItem span {
    font-size: 12px;
    color: #8a7d82;
}

.productsSection {
    padding-top: 70px;
    background: radial-gradient(circle at 0 30%, rgba(100, 190, 226, .09), transparent 25%), #fffdfd;
}

.sectionHeading {
    text-align: center;
    max-width: 680px;
    margin-bottom: 34px;
}

.sectionHeading>span {
    color: var(--c1);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}

.sectionHeading h2 {
    margin: 7px 0 10px;
    font-size: clamp(34px, 4vw, 50px);
    font-weight: 800;
    letter-spacing: -1.2px;
}

.sectionHeading p {
    color: #7b7074;
    line-height: 1.7;
}

.proCrd {
    position: relative;
}

.productBadge {
    position: absolute;
    z-index: 1;
    left: 20px;
    top: 20px;
    padding: 6px 11px;
    border-radius: 50px;
    color: #fff;
    background: var(--c1);
    box-shadow: 0 5px 15px rgba(203, 42, 107, .28);
    font-size: 11px;
    font-weight: 700;
}

.protabs {
    background: #fff;
}

.celebrationSection {
    padding: 0 0 80px;
    background: #fffdfd;
}

.celebrationBox {
    padding: 48px 55px;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    color: #fff;
    background: linear-gradient(120deg, #272026, #3b2831);
    box-shadow: 0 20px 50px rgba(42, 31, 36, .18);
    position: relative;
    overflow: hidden;
}

.celebrationBox::after {
    content: '';
    position: absolute;
    right: -70px;
    top: -110px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: var(--c2);
    opacity: .15;
}

.celebrationBox>* {
    position: relative;
    z-index: 1;
}

.celebrationBox span {
    color: #f293b9;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.3px;
}

.celebrationBox h2 {
    font-size: 38px;
    font-weight: 800;
    margin: 8px 0;
}

.celebrationBox p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
}

.celebrationBox .heroBtn {
    flex: 0 0 auto;
}

.searchPanel {
    position: fixed;
    inset: 0;
    background: rgba(24, 18, 21, .82);
    backdrop-filter: blur(8px);
    z-index: 1000;
    display: grid;
    place-items: center;
    opacity: 0;
    visibility: hidden;
    transition: 300ms ease;
}

.searchPanel.open {
    opacity: 1;
    visibility: visible;
}

.searchClose {
    position: absolute;
    right: 30px;
    top: 25px;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    font-size: 29px;
}

.searchBox {
    width: min(680px, 90%);
    color: #fff;
    text-align: center;
}

.searchBox>span {
    display: block;
    font-size: 27px;
    font-weight: 700;
    margin-bottom: 18px;
}

.searchField {
    height: 62px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 20px;
    border-radius: 14px;
    background: #fff;
}

.searchField i {
    color: var(--c1);
    font-size: 24px;
}

.searchField input {
    border: 0;
    outline: 0;
    width: 100%;
    font-size: 16px;
}

.searchBox small {
    display: block;
    margin-top: 12px;
    color: rgba(255, 255, 255, .6);
}

.cartToast {
    position: fixed;
    right: 22px;
    bottom: 80px;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 260px;
    padding: 14px 18px;
    border-radius: 13px;
    color: #fff;
    background: #252026;
    box-shadow: 0 13px 35px rgba(0, 0, 0, .24);
    opacity: 0;
    visibility: hidden;
    transform: translateX(30px);
    transition: 300ms ease;
}

.cartToast.show {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.cartToast>i {
    color: #66d6a0;
    font-size: 28px;
}

.cartToast strong,
.cartToast span {
    display: block;
}

.cartToast span {
    color: rgba(255, 255, 255, .65);
    font-size: 12px;
}

/* Original banner presentation */
.bannerImg::after {
    display: none;
}

.serviceStrip {
    margin-top: -40px;
}

/* delivery location picker */
.location {
    cursor: pointer;
    padding: 7px 9px;
    margin-left: -9px;
    border-radius: 12px;
    transition: background 200ms ease;
    width: 320px;
}

.location:hover {
    background: rgba(203, 42, 107, .07);
}

.location:hover i {
    color: var(--c1);
}

.locationModal {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: 250ms ease;
}

.locationModal.open {
    opacity: 1;
    visibility: visible;
}

.locationBackdrop {
    position: absolute;
    inset: 0;
    background: rgba(25, 20, 23, .72);
    backdrop-filter: blur(6px);
}

.locationDialog {
    position: relative;
    width: min(920px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .28);
    transform: translateY(18px) scale(.98);
    transition: 300ms ease;
}

.locationModal.open .locationDialog {
    transform: none;
}

.locationClose {
    position: absolute;
    z-index: 4;
    right: 18px;
    top: 18px;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #f7edf1;
    color: var(--c1);
    font-size: 26px;
}

.locationClose:hover {
    background: var(--c1);
    color: #fff;
}

.locationIntro {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 25px 72px 22px 28px;
    border-bottom: 1px solid #eee7ea;
}

.locationIntroIcon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, var(--c1), #e75d94);
    box-shadow: 0 9px 22px rgba(203, 42, 107, .24);
    font-size: 26px;
}

.locationIntro span {
    color: var(--c1);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.locationIntro h2 {
    margin: 2px 0 3px;
    font-size: 25px;
    font-weight: 800;
}

.locationIntro p {
    margin: 0;
    color: #83767b;
    font-size: 13px;
}

.locationBody {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    min-height: 430px;
}

.mapWrap {
    position: relative;
    min-height: 430px;
    background: #e9e5e7;
}

.mapWrap #deliveryMap {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.locateMe {
    position: absolute;
    z-index: 500;
    left: 18px;
    top: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 0;
    border-radius: 10px;
    background: #fff;
    color: #282126;
    box-shadow: 0 5px 18px rgba(0, 0, 0, .18);
    font-size: 13px;
    font-weight: 700;
}

.locateMe i {
    color: var(--c1);
    font-size: 19px;
}

.locationStatus {
    position: absolute;
    z-index: 500;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%) translateY(10px);
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
    padding: 8px 13px;
    border-radius: 30px;
    color: #fff;
    background: rgba(38, 31, 35, .88);
    font-size: 12px;
    opacity: 0;
    visibility: hidden;
    transition: 200ms ease;
}

.locationStatus.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%);
}

.addressForm {
    padding: 30px 26px;
    display: flex;
    flex-direction: column;
}

.addressForm label {
    margin-bottom: 9px;
    color: #3c3438;
    font-size: 13px;
    font-weight: 700;
}

.addressInput {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 13px;
    border: 1px solid #dfd5d9;
    border-radius: 13px;
}

.addressInput:focus-within {
    border-color: var(--c1);
    box-shadow: 0 0 0 3px rgba(203, 42, 107, .08);
}

.addressInput i {
    margin-top: 2px;
    color: var(--c1);
    font-size: 20px;
}

.addressInput textarea {
    width: 100%;
    border: 0;
    outline: 0;
    resize: none;
    color: #30292d;
    font-size: 14px;
    line-height: 1.55;
}

.addressHint {
    display: flex;
    gap: 6px;
    margin-top: 11px;
    color: #96898e;
    font-size: 11px;
}

.addressHint i {
    color: var(--c2);
    font-size: 15px;
}

.saveLocation {
    width: 100%;
    min-height: 49px;
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--c1);
    box-shadow: 0 9px 22px rgba(203, 42, 107, .25);
    font-size: 13px;
    font-weight: 700;
    transition: 220ms ease;
}

.saveLocation:hover {
    background: #ad1d56;
    transform: translateY(-2px);
}

.saveLocation:disabled {
    opacity: .65;
}

.leaflet-control-attribution {
    font-size: 9px;
}

.addressRow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.formGroup {
    margin-bottom: 15px;
}

.formGroup label {
    display: block;
}

.formGroup select {
    width: 100%;
    height: 43px;
    padding: 0 11px;
    border: 1px solid #dfd5d9;
    border-radius: 10px;
    background: #f8f5f6;
    color: #554a4f;
    font-size: 13px;
}

.formGroup select:disabled {
    opacity: 1;
    cursor: not-allowed;
}

.addressInput input {
    width: 100%;
    height: 25px;
    border: 0;
    outline: 0;
    color: #30292d;
    font-size: 13px;
}

.addressForm .select2-container .select2-selection--single {
    height: 45px;
    border: 1px solid #dfd5d9;
    border-radius: 10px;
}

.addressForm .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 43px;
    padding-left: 13px;
    color: #40373b;
    font-size: 13px;
}

.addressForm .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 43px;
    right: 6px;
}

.addressForm .select2-container--open .select2-selection--single {
    border-color: var(--c1);
    box-shadow: 0 0 0 3px rgba(203, 42, 107, .08);
}

.select2-dropdown {
    border-color: #dfd5d9;
    border-radius: 10px;
    overflow: hidden;
}

.select2-search--dropdown {
    padding: 9px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #ded4d8;
    border-radius: 7px;
    padding: 7px;
    outline: 0;
}

.select2-container--default .select2-results__option {
    color: #40373b;
    background: #fff;
}

.select2-container--default .select2-results__option[aria-selected="true"] {
    color: #40373b;
    background: #f8e9ef;
}

@media (hover: hover) and (pointer: fine) {
    .select2-container--default .select2-results__option--highlighted[aria-selected] {
        color: #40373b;
        background: #fff;
    }

    .select2-container--default .select2-results__option[aria-selected="true"].select2-results__option--highlighted {
        background: #f8e9ef;
    }

    .select2-container--default .select2-results__option[aria-selected]:hover {
        color: #fff;
        background: var(--c1);
    }
}

@media (hover: none), (pointer: coarse) {
    .select2-container--default .select2-results__option--highlighted[aria-selected] {
        color: #40373b;
        background: #fff;
    }

    .select2-container--default .select2-results__option:active {
        color: #fff;
        background: var(--c1);
    }
}

.paymentSection {
    padding: 16px;
    border: 1px solid #eadfe3;
    border-radius: 14px;
    background: #fcfafb;
}

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

.paymentSectionTitle > i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    border-radius: 11px;
    color: var(--c1);
    background: #fae8ef;
    font-size: 21px;
}

.paymentSectionTitle strong,
.paymentSectionTitle small {
    display: block;
}

.paymentSectionTitle strong {
    font-size: 14px;
}

.paymentSectionTitle small {
    color: #8a7e83;
    font-size: 11px;
}

.paymentMethodList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.paymentMethodOption {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px;
    margin: 0;
    border: 1px solid #e2d8dc;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: 180ms ease;
}

.paymentMethodOption:hover,
.paymentMethodOption.selected {
    border-color: var(--c1);
    box-shadow: 0 0 0 3px rgba(203, 42, 107, .08);
}

.paymentMethodOption > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.paymentMethodIcon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 10px;
    color: var(--c1);
    background: #fae8ef;
    font-size: 19px;
}

.paymentMethodOption > span:nth-of-type(2) {
    min-width: 0;
    flex: 1;
}

.paymentMethodOption strong,
.paymentMethodOption small {
    display: block;
}

.paymentMethodOption strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.paymentMethodOption small {
    margin-top: 2px;
    color: #8c8085;
    font-size: 9px;
    font-weight: 400;
    line-height: 1.35;
}

.paymentMethodCheck {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    flex: 0 0 20px;
    border-radius: 50%;
    color: #fff;
    background: var(--c1);
    opacity: 0;
    font-size: 14px;
}

.paymentMethodOption.selected .paymentMethodCheck {
    opacity: 1;
}

.manualPaymentPanel {
    display: none;
    margin-top: 12px;
    padding: 14px;
    border-radius: 12px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #eee3e7;
}

.manualPaymentPanel.open {
    display: block;
}

.paymentSendText {
    margin: 0 0 8px;
    color: #74686d;
    font-size: 12px;
}

.paymentSendText strong {
    color: var(--c1);
}

.paymentAccountCard {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    color: #fff;
    background: #282127;
}

.paymentAccountCard span,
.paymentAccountCard small,
.paymentAccountCard strong {
    display: block;
}

.paymentAccountCard small {
    color: #cfc4c8;
    font-size: 9px;
    letter-spacing: .5px;
}

.paymentAccountCard strong {
    margin-block: 2px;
    font-size: 19px;
    letter-spacing: .5px;
}

.copyPaymentNumber {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: var(--c1);
    font-size: 11px;
    font-weight: 700;
}

.paymentInstructions {
    margin: 8px 0 10px;
    color: #81757a;
    font-size: 11px;
}

.paymentConfirmation {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    margin-top: 10px;
    color: #5f5559;
    font-size: 11px !important;
    cursor: pointer;
}

.paymentConfirmation input {
    margin-top: 2px;
    accent-color: var(--c1);
}

.paymentReviewNote {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    color: #8c7f84;
    font-size: 10px;
}

.receiptPayment {
    margin: 0 25px 17px;
    padding: 13px 15px;
    border-left: 3px solid var(--c2);
    background: #fff;
}

.receiptPayment > small,
.receiptPayment strong,
.receiptPayment span {
    display: block;
}

.receiptPayment > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 3px;
}

.receiptPayment strong {
    font-size: 12px;
}

.receiptPaymentStatus {
    padding: 4px 8px;
    border-radius: 30px;
    color: #95600a;
    background: #fff0cf;
    font-size: 9px;
    text-transform: capitalize;
}

.receiptPaymentStatus.paid {
    color: #237447;
    background: #dff7e9;
}

.receiptPaymentStatus.rejected {
    color: #a5203c;
    background: #ffe1e6;
}

.receiptPaymentDetails {
    margin: 5px 0 0;
    color: #807479;
    font-size: 10px;
    line-height: 1.45;
}

.footerSocials{display:flex;align-items:center;gap:10px;margin-top:22px}.footerSocials a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;background:rgba(255,255,255,.07);font-size:21px;transition:250ms ease}.footerSocials a:hover{color:#fff;background:var(--c1);border-color:var(--c1);transform:translateY(-4px);box-shadow:0 9px 20px rgba(203,42,107,.28)}
.bulkTabBtn{display:flex!important;align-items:center;gap:6px}.bulkOrderSection{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;padding:55px 0 25px;align-items:center}.bulkIntro>span{color:var(--c1);font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}.bulkIntro h2{font-size:42px;font-weight:800;line-height:1.08;margin:9px 0 15px}.bulkIntro>p{color:#786d72;line-height:1.75}.bulkHighlights{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.bulkHighlights div{font-size:13px;font-weight:600}.bulkHighlights i{width:22px;height:22px;display:inline-grid;place-items:center;margin-right:5px;border-radius:50%;color:#fff;background:var(--c2)}.bulkWhatsapp{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:12px 18px;border-radius:50px;color:#fff;background:#25d366;font-size:13px;font-weight:700}.bulkWhatsapp:hover{color:#fff;background:#1db957;transform:translateY(-2px)}.bulkWhatsapp i{font-size:20px}.bulkForm{padding:30px;border:1px solid #eee4e8;border-radius:20px;background:#fff;box-shadow:0 14px 40px rgba(36,27,31,.09)}.bulkForm h3{font-size:23px;font-weight:800;margin:0 0 3px}.bulkForm>p{color:#90848a;font-size:12px;margin-bottom:20px}.bulkForm label{display:block;margin-bottom:5px;font-size:11px;font-weight:700}.bulkForm .form-control{padding:10px 12px;border:1px solid #ddd3d7;border-radius:9px;font-size:13px}.bulkForm .form-control:focus{border-color:var(--c1);box-shadow:0 0 0 3px rgba(203,42,107,.08)}.bulkSubmit{margin-top:20px}.bulkResponse{display:none;margin-top:12px;padding:10px;border-radius:8px;font-size:12px}.bulkResponse.success{display:block;color:#237447;background:#e3f7eb}.bulkResponse.error{display:block;color:#a51f3b;background:#ffe5ea}
.whatsappFloat{position:fixed;right:14px;bottom:14px;z-index:89;width:55px;height:55px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#25d366;box-shadow:0 10px 28px rgba(37,211,102,.38);font-size:31px;transition:250ms ease}.whatsappFloat:after{content:'';position:absolute;inset:-5px;border:1px solid rgba(37,211,102,.45);border-radius:50%;animation:waPulse 2s infinite}.whatsappFloat:hover{color:#fff;background:#1db957;transform:translateY(-4px) scale(1.04)}.whatsappTip{position:absolute;right:66px;white-space:nowrap;padding:7px 10px;border-radius:7px;color:#fff;background:#252026;font-size:11px;opacity:0;visibility:hidden;transform:translateX(5px);transition:200ms ease}.whatsappFloat:hover .whatsappTip{opacity:1;visibility:visible;transform:none}@keyframes waPulse{70%{transform:scale(1.18);opacity:0}}

.receiptModal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:15px;opacity:0;visibility:hidden;transition:.25s}.receiptModal.open{opacity:1;visibility:visible}.receiptShell{position:relative;width:min(560px,100%);max-height:calc(100vh - 30px);overflow:auto;border-radius:22px;background:#f5f1f3;box-shadow:0 30px 90px #0006}.receiptClose{position:absolute;right:13px;top:13px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--c1);font-size:24px}.receiptTop{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px dashed #dfd4d8}.receiptTop img{width:95px;height:48px;object-fit:contain}.receiptTop span{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#8c7f84}.receiptSuccess{text-align:center;padding:22px 25px 15px}.receiptSuccess>i{font-size:46px;color:#41af78}.receiptSuccess h2{font-size:23px;font-weight:800;margin:6px 0 3px}.receiptSuccess p{margin:0;color:#897c81;font-size:13px}.receiptMeta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 25px 16px;padding:13px 16px;border-radius:12px;background:#fff}.receiptMeta small,.receiptCustomer small{display:block;font-size:9px;letter-spacing:1px;color:#9a8d92}.receiptMeta strong{display:block;margin-top:3px;font-size:12px}.liveStatus{margin:0 25px 16px;padding:16px;border-radius:14px;background:#fff}.statusHeading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:13px;font-weight:700}.statusBadge{padding:5px 10px;border-radius:30px;background:#fff0d2;color:#9b6710;font-size:10px;text-transform:capitalize}.statusSteps{display:flex;justify-content:space-between;position:relative}.statusSteps:before{content:'';position:absolute;left:8%;right:8%;top:16px;height:2px;background:#e8e0e3}.statusSteps>div{position:relative;z-index:1;width:20%;text-align:center;color:#b5aaae}.statusSteps i{width:33px;height:33px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#eee8ea;font-size:16px}.statusSteps span{display:block;margin-top:5px;font-size:9px}.statusSteps>div.done,.statusSteps>div.active{color:var(--c1)}.statusSteps>div.done i,.statusSteps>div.active i{background:var(--c1);color:#fff}.statusSteps>div.active i{box-shadow:0 0 0 5px rgba(203,42,107,.13)}.statusUpdated{display:block;text-align:center;margin-top:12px;color:#9a8d92;font-size:9px}.receiptItems{margin:0 25px;background:#fff;border-radius:13px;overflow:hidden}.receiptLine{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #f0e9ec;font-size:12px}.receiptLine small{color:#978b90}.receiptTotal{display:flex;justify-content:space-between;margin:13px 25px;padding:14px;border-radius:12px;background:#252026;color:#fff}.receiptTotal strong{color:#78d0f1}.receiptCustomer{margin:0 25px 17px;padding:13px 15px;border-left:3px solid var(--c1);background:#fff}.receiptCustomer strong{font-size:12px}.receiptCustomer p{margin:4px 0 0;color:#807479;font-size:11px}.receiptFoot{text-align:center;padding:13px 20px;border-top:1px dashed #dbd0d4;color:#998d91;font-size:9px}.receiptActions{display:flex;gap:9px;padding:14px 25px 20px}.receiptActions button{flex:1;padding:11px;border-radius:10px;font-size:12px;font-weight:700}.saveReceipt{border:0;background:var(--c1);color:#fff}.continueShopping{border:1px solid #d7ccd0;background:#fff;color:#554a4f}

.checkoutModal{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.25s}.checkoutModal.open{opacity:1;visibility:visible}.checkoutDialog{width:min(650px,100%)}.checkoutItems{max-height:220px;overflow:auto;border-radius:10px;background:#faf7f8}.checkoutItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid #eee}.checkoutProduct{min-width:0}.checkoutProduct small{color:#897d82}.checkoutItemActions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.removeCartItem{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;color:#c72b58;background:#ffe8ef;font-size:17px;transition:180ms ease}.removeCartItem:hover{color:#fff;background:#c72b58}.checkoutModal label{font-size:12px;font-weight:700;margin-bottom:5px}.checkoutModal .form-control{border:1px solid #ddd3d7;border-radius:10px;padding:9px 11px}.placeOrder{width:100%;margin-top:18px!important}.topIcons .cart{cursor:pointer}
.trackOrderBtn{position:fixed;left:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;padding:10px 17px 10px 12px;border:0;border-radius:50px;color:#fff;background:#252026;box-shadow:0 12px 30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(15px);transition:.25s}.trackOrderBtn.show{opacity:1;visibility:visible;transform:none}.trackOrderBtn:hover{background:var(--c1);transform:translateY(-3px)}.trackOrderBtn>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--c1);font-size:19px}.trackOrderBtn span:not(.trackPulse){text-align:left}.trackOrderBtn small,.trackOrderBtn strong{display:block}.trackOrderBtn small{font-size:8px;letter-spacing:1.2px;color:#aeb9bd}.trackOrderBtn strong{font-size:12px}.trackPulse{position:absolute;right:8px;top:7px;width:8px;height:8px;border-radius:50%;background:#58d890;animation:trackPulse 1.8s infinite}.trackOrderBtn.loading>i{animation:spin 1s linear infinite}@keyframes trackPulse{70%{box-shadow:0 0 0 8px transparent}}@keyframes spin{to{transform:rotate(360deg)}}


/* Product gallery and detail experience */
.productMedia{position:relative}.productCardSlider.slick-dotted.slick-slider{margin-bottom:0}.productCardSlider .slick-list,.productCardSlider .slick-track,.productCardSlider .productCardSlide{height:100%}.productCardSlide{outline:0}.productCardSlide img{display:block}.productCardSlider .slick-dots{z-index:3;bottom:9px;display:flex!important;justify-content:center;gap:5px}.productCardSlider .slick-dots li{width:6px;height:6px;margin:0}.productCardSlider .slick-dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.62);box-shadow:0 1px 5px #0004}.productCardSlider .slick-dots button:before{display:none}.productCardSlider .slick-dots .slick-active{width:18px}.productCardSlider .slick-dots .slick-active button{width:18px;border-radius:10px;background:#fff}.productQuickView{position:absolute;z-index:3;right:11px;bottom:11px;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid rgba(255,255,255,.58);border-radius:30px;color:#fff;background:rgba(30,25,28,.72);backdrop-filter:blur(8px);font-size:9px;font-weight:700;opacity:0;transform:translateY(6px);transition:220ms ease;pointer-events:none}.productQuickView i{font-size:14px}.proCrd:hover .productQuickView,.proCrd:focus-visible .productQuickView{opacity:1;transform:none}.proCrd:focus-visible{outline:3px solid rgba(203,42,107,.2);outline-offset:3px}
.productDetailModal{position:fixed;inset:0;z-index:1275;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.productDetailModal.open{opacity:1;visibility:visible}.productDetailBackdrop{position:absolute;inset:0;background:rgba(24,17,21,.72);backdrop-filter:blur(8px)}.productDetailDialog{position:relative;z-index:1;width:min(980px,100%);max-height:min(680px,calc(100vh - 44px));display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);overflow:hidden;border:1px solid rgba(255,255,255,.42);border-radius:28px;background:#fff;box-shadow:0 35px 110px rgba(20,12,16,.48);transform:translateY(18px) scale(.98);transition:transform .3s ease}.productDetailModal.open .productDetailDialog{transform:none}.productDetailClose{position:absolute;z-index:8;right:16px;top:16px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #eee1e6;border-radius:50%;color:#33292e;background:rgba(255,255,255,.92);box-shadow:0 8px 24px rgba(40,28,34,.13);font-size:26px;transition:180ms ease}.productDetailClose:hover{color:#fff;background:var(--c1);transform:rotate(6deg)}.productDetailGallery{position:relative;min-height:560px;overflow:hidden;background:#f1e8ec}.productDetailGallery:after{content:'';position:absolute;z-index:2;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(30,19,25,.3));pointer-events:none}.productDetailSlider,.productDetailSlider .slick-list,.productDetailSlider .slick-track,.productDetailSlide{height:100%}.productDetailSlider.slick-dotted.slick-slider{height:100%;margin:0}.productDetailSlide img{width:100%;height:100%;display:block;object-fit:cover}.productDetailSlider .slick-dots{z-index:5;bottom:22px;display:flex;justify-content:center;gap:6px}.productDetailSlider .slick-dots li{width:8px;height:8px;margin:0}.productDetailSlider .slick-dots li button{width:8px;height:8px;padding:0;border-radius:20px;background:rgba(255,255,255,.55)}.productDetailSlider .slick-dots li button:before{display:none}.productDetailSlider .slick-dots li.slick-active{width:28px}.productDetailSlider .slick-dots li.slick-active button{width:28px;background:#fff}.productDetailArrow{position:absolute;z-index:6;top:50%;width:42px;height:42px;display:grid!important;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:50%;color:#fff;background:rgba(30,23,27,.38);backdrop-filter:blur(8px);font-size:26px;transform:translateY(-50%);transition:180ms ease}.productDetailArrow:hover{color:var(--c1);background:#fff}.productDetailPrev{left:18px}.productDetailNext{right:18px}.productDetailCount{position:absolute;z-index:4;left:18px;bottom:18px;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:30px;color:#fff;background:rgba(28,21,25,.62);backdrop-filter:blur(7px);font-size:10px;font-weight:700}.productDetailCount i{font-size:15px}.productDetailContent{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:66px 46px 42px}.productDetailTopline{min-height:25px;display:flex;align-items:center;gap:9px;margin-bottom:12px}.productDetailCategory{color:var(--c1);font-size:11px;font-weight:800;letter-spacing:1.35px;text-transform:uppercase}.productDetailBadge{padding:5px 9px;border-radius:20px;color:#fff;background:var(--c1);font-size:9px}.productDetailContent h2{margin:0 0 14px;font-size:clamp(30px,3.2vw,45px);font-weight:800;line-height:1.05;letter-spacing:-1.1px}.productDetailDescription{max-height:150px;margin:0 0 21px;overflow:auto;color:#71656a;font-size:14px;line-height:1.75;white-space:pre-line}.productDetailPrice{display:flex;align-items:center;gap:11px;margin-bottom:21px}.productDetailPrice del{color:#9c8f94;font-size:16px}.productDetailPrice strong{color:var(--c1);font-size:31px;line-height:1}.productDetailPromises{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.productDetailPromises span{display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:30px;color:#5c5156;background:#f8f3f5;font-size:10px;font-weight:700}.productDetailPromises i{color:var(--c2);font-size:15px}.productDetailOrderRow{display:flex;align-items:stretch;gap:11px}.productDetailQuantity{flex:0 0 auto;display:flex;align-items:center;border:1px solid #e2d8dc;border-radius:13px;overflow:hidden;background:#fff}.productDetailQuantity button{width:39px;border:0;color:#453b40;background:#f8f4f6;font-size:19px}.productDetailQuantity strong{width:32px;text-align:center;font-size:13px}.productDetailActions{min-width:0;flex:1;display:grid;grid-template-columns:.85fr 1.15fr;gap:9px}.productDetailActions button{min-height:49px;padding:10px 13px;border-radius:13px;font-size:11px;font-weight:800;transition:180ms ease}.productDetailBuy{border:1px solid var(--c1);color:var(--c1);background:#fff}.productDetailAdd{border:1px solid var(--c1);color:#fff;background:var(--c1);box-shadow:0 9px 22px rgba(203,42,107,.24)}.productDetailActions button:hover{transform:translateY(-2px)}.productDetailBuy:hover{color:#fff;background:var(--c1)}.productDetailAdd:hover{background:#ad1f59}.productDetailHint{display:flex;align-items:center;gap:5px;margin-top:14px;color:#978b90;font-size:9px}.productDetailHint i{font-size:13px}
.productDetailGallery{height:620px}
.productCardSlider .slick-list,.productCardSlider .slick-track,.productCardSlider .slick-slide,.productCardSlider .productCardSlide{height:100%!important}.productCardSlider .slick-slide>div{height:100%}.productCardSlide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}.productDetailSlider .slick-list,.productDetailSlider .slick-track,.productDetailSlider .slick-slide,.productDetailSlider .productDetailSlide{height:100%!important}.productDetailSlider .slick-slide>div{height:100%}.productDetailSlide{position:relative;overflow:hidden}.productDetailSlide img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center}
