/* Cactus footer - desktop editorial layout and mobile accordions.
   Isolated from legacy .cactus-footer-v2 styles. */
.cactus-premium-footer {
    --cfx-ink: #211b16;
    --cfx-muted: #79716a;
    --cfx-copper: #955b27;
    --cfx-line: #e3d2bd;
    --cfx-cream: #fcf6ed;
    position: relative;
    isolation: isolate;
    background: #faf5ec;
    color: var(--cfx-ink);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    overflow: hidden;
}
.cactus-premium-footer *, .cactus-premium-footer *::before, .cactus-premium-footer *::after { box-sizing: border-box; }
.cactus-premium-footer a { color: inherit; text-decoration: none; }
.cactus-premium-footer a:hover { color: var(--cfx-copper); }
.cactus-premium-footer .cfx-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.cactus-premium-footer .cfx-icon {
    display: inline-block;
    width: 23px;
    height: 23px;
    flex: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linejoin: round;
    stroke-linecap: round;
    fill: none;
}
.cactus-premium-footer .cfx-inner { width: min(1560px, calc(100% - 80px)); margin: 0 auto; }
.cactus-premium-footer .cfx-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; clip: rect(0,0,0,0); overflow: hidden; white-space: nowrap; border: 0; }
.cactus-premium-footer .cfx-main {
    position: relative;
    padding: clamp(36px, 4vw, 64px) 0 43px;
    background: radial-gradient(ellipse at 52% 32%, #fffefd 0%, #fffcf7 45%, #f8f0e5 100%);
    isolation: isolate;
}
.cactus-premium-footer .cfx-main::before,
.cactus-premium-footer .cfx-main::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: .9;
}
.cactus-premium-footer .cfx-main::before {
    left: 0;
    width: clamp(105px, 15vw, 270px);
    background-image: url('../images/storefront/footer/tailoring-left.webp');
    background-size: 100% 100%;
    -webkit-mask-image: linear-gradient(90deg, #000 45%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 45%, transparent 100%);
}
.cactus-premium-footer .cfx-main::after {
    right: 0;
    width: clamp(105px, 15vw, 270px);
    background-image: url('../images/storefront/footer/fabrics-right.webp');
    background-size: 100% 100%;
    -webkit-mask-image: linear-gradient(270deg, #000 32%, transparent 100%);
    mask-image: linear-gradient(270deg, #000 32%, transparent 100%);
}
.cactus-premium-footer .cfx-main-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1.28fr) minmax(0,.88fr) minmax(0,.83fr) minmax(0,1.14fr) minmax(0,1.28fr);
    align-items: start;
    gap: clamp(12px, 2.1vw, 31px);
}
.cactus-premium-footer .cfx-main-grid > * { min-width: 0; }
.cactus-premium-footer .cfx-brand { padding-right: 12px; }
.cactus-premium-footer .cfx-brand-logo { display: block; width: clamp(100px, 8.2vw, 145px); aspect-ratio: 1; margin: -13px 0 14px; }
.cactus-premium-footer .cfx-brand-logo picture,
.cactus-premium-footer .cfx-brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cactus-premium-footer .cfx-brand-title,
.cactus-premium-footer .cfx-column summary h3,
.cactus-premium-footer .cfx-desktop-social h4,
.cactus-premium-footer .cfx-service-item strong,
.cactus-premium-footer .cfx-mobile-social h3,
.cactus-premium-footer .cfx-newsletter-title strong {
    font-family: Georgia, 'Times New Roman', serif;
}
.cactus-premium-footer .cfx-brand-title { margin: 0; font-weight: 700; font-size: clamp(1.25rem, 1.57vw, 1.95rem); line-height: 1.18; }
.cactus-premium-footer .cfx-brand-title::after,
.cactus-premium-footer .cfx-column summary h3::after,
.cactus-premium-footer .cfx-desktop-social h4::after {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background: #a66534;
    margin-top: 12px;
}
.cactus-premium-footer .cfx-brand-tagline { color: #756d64; margin: 16px 0 18px; font-size: 14px; line-height: 1.5; }
.cactus-premium-footer .cfx-brand-description { color: #746c64; font-size: 14px; line-height: 1.63; margin: 0 0 18px; }
.cactus-premium-footer .cfx-brand-features { display: flex; justify-content: space-between; gap: 10px; max-width: 285px; }
.cactus-premium-footer .cfx-brand-features > div { min-width: 0; text-align: center; display: flex; align-items: center; flex-direction: column; gap: 8px; }
.cactus-premium-footer .cfx-brand-features > div > span { display: grid; place-items: center; width: 53px; height: 53px; background: #f4e7d7; border-radius: 50%; color: #94581f; }
.cactus-premium-footer .cfx-brand-features .cfx-icon { width: 26px; height: 26px; }
.cactus-premium-footer .cfx-brand-features small { font-size: 12px; line-height: 1.35; }
.cactus-premium-footer .cfx-column {
    margin: 0;
    padding: 0 0 0 clamp(12px, 1.7vw, 28px);
    border-left: 1px solid var(--cfx-line);
}
.cactus-premium-footer .cfx-column summary { list-style: none; display: flex; align-items: center; margin: 0 0 17px; cursor: default; }
.cactus-premium-footer .cfx-column summary::-webkit-details-marker { display: none; }
.cactus-premium-footer .cfx-column summary h3 { margin: 0; font-size: clamp(1.13rem, 1.3vw, 1.68rem); font-weight: 700; white-space: normal; line-height: 1.2; }
.cactus-premium-footer .cfx-summary-icon,
.cactus-premium-footer .cfx-chevron { display: none; }
.cactus-premium-footer .cfx-links,
.cactus-premium-footer .cfx-contact-list { list-style: none; padding: 0; margin: 0; }
.cactus-premium-footer .cfx-links { display: grid; gap: 6px; }
.cactus-premium-footer .cfx-links li a { min-height: 44px; display: flex; align-items: center; gap: 17px; font-size: 14px; line-height: 1.4; }
.cactus-premium-footer .cfx-links .cfx-icon { color: #9b5f28; width: 25px; height: 25px; }
.cactus-premium-footer .cfx-contact-list { display: grid; gap: 12px; }
.cactus-premium-footer .cfx-contact-list li { display: flex; gap: 15px; align-items: flex-start; min-width: 0; font-size: 13px; line-height: 1.5; }
.cactus-premium-footer .cfx-contact-list li > .cfx-icon { color: #97551f; background: #f5eade; border-radius: 50%; padding: 4px; width: 29px; height: 29px; }
.cactus-premium-footer .cfx-contact-list li > a,
.cactus-premium-footer .cfx-contact-list li > span { min-width: 0; overflow-wrap: anywhere; white-space: pre-line; }
.cactus-premium-footer .cfx-map { background: #f1e9de; overflow: hidden; border-radius: 14px; border: 1px solid #e6d7c6; height: 145px; margin-top: 17px; }
.cactus-premium-footer .cfx-map iframe { display: block; width: 100%; height: 100%; border: none; }
.cactus-premium-footer .cfx-updates p { font-size: 14px; line-height: 1.6; color: #787067; margin: 22px 0 22px; }
.cactus-premium-footer .cfx-newsletter-form { display: flex; height: 54px; border: 1px solid #e8d9c8; border-radius: 13px; overflow: hidden; background: #fff; align-items: center; }
.cactus-premium-footer .cfx-newsletter-form > .cfx-icon { width: 20px; height: 20px; margin: 0 13px; color: #a36b32; }
.cactus-premium-footer .cfx-newsletter-form input { width: 100%; min-width: 0; padding: 0 4px; border: 0; outline: none; background: transparent; color: #40342b; font: 14px Arial, Helvetica, sans-serif; }
.cactus-premium-footer .cfx-newsletter-form input::placeholder { color: #999999; }
.cactus-premium-footer .cfx-newsletter-form input:focus-visible { outline: 2px solid #be8249; outline-offset: -2px; border-radius: 3px; }
.cactus-premium-footer .cfx-newsletter-form button { appearance: none; height: 100%; min-width: 55px; border: 0; background: linear-gradient(135deg, #b17c49, #905723); color: #fff; cursor: pointer; display: grid; place-items: center; }
.cactus-premium-footer .cfx-newsletter-form button:hover { background: #805024; }
.cactus-premium-footer .cfx-newsletter-form button .cfx-icon { width: 23px; height: 23px; }
.cactus-premium-footer .cfx-desktop-social { margin-top: 42px; }
.cactus-premium-footer .cfx-desktop-social h4 { font-size: 23px; margin: 0 0 18px; }
.cactus-premium-footer .cfx-social-links { display: flex; align-items: center; gap: 14px; }
.cactus-premium-footer .cfx-social-links > a,
.cactus-premium-footer .cfx-social-links > span { display: grid; place-items: center; background: #f4e7d7; color: #83491c; border-radius: 50%; width: 45px; height: 45px; flex: none; }
.cactus-premium-footer .cfx-social-links > a:hover { background: #e9d3b9; transform: translateY(-1px); }
.cactus-premium-footer .cfx-social-links .cfx-icon { width: 22px; height: 22px; }
.cactus-premium-footer .cfx-service-strip { background: linear-gradient(180deg, #fcf7ef, #f5eadb); border-top: 1px solid #e9d8c3; border-bottom: 1px solid #e9d8c3; }
.cactus-premium-footer .cfx-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 23px 0; }
.cactus-premium-footer .cfx-service-item { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 17px; padding: 0 14px; border-right: 1px solid #dfc6a9; }
.cactus-premium-footer .cfx-service-item:last-child { border-right: 0; }
.cactus-premium-footer .cfx-service-item > .cfx-icon { color: #74431e; width: 41px; height: 41px; }
.cactus-premium-footer .cfx-service-item > span { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cactus-premium-footer .cfx-service-item strong { font-size: clamp(15px, 1.18vw, 20px); line-height: 1.1; }
.cactus-premium-footer .cfx-service-item small { color: #82756a; font-size: 13px; line-height: 1.2; }
.cactus-premium-footer .cfx-bottom { background: #f9f4ed; }
.cactus-premium-footer .cfx-bottom-inner { min-height: 91px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.cactus-premium-footer .cfx-bottom p { color: #513522; margin: 0; font-size: 13px; }
.cactus-premium-footer .cfx-bottom small { color: #897e76; font-size: 12px; }
.cactus-premium-footer .cfx-payments { display: flex; align-items: center; justify-content: center; gap: 9px; }
.cactus-premium-footer .cfx-payment { width: 52px; height: 37px; background: #fff; border: 1px solid #e9e4dc; display: inline-flex; justify-content: center; align-items: center; border-radius: 6px; font-size: 12px; font-weight: 800; }
.cactus-premium-footer .cfx-visa { font-size: 18px; font-style: italic; color: #1352af; letter-spacing: -.7px; }
.cactus-premium-footer .cfx-mastercard { position: relative; }
.cactus-premium-footer .cfx-mastercard i { width: 23px; height: 23px; background: #ea162e; border-radius: 50%; margin-right: -8px; }
.cactus-premium-footer .cfx-mastercard i + i { background: #faa51b; opacity: .89; margin-right: 0; }
.cactus-premium-footer .cfx-bkash { color: #d11168; font-style: italic; }
.cactus-premium-footer .cfx-nagad { color: #ec5a20; font-size: 15px; }
.cactus-premium-footer .cfx-bank { font-size: 28px; color: #303030; }
.cactus-premium-footer .cfx-mobile-subscribe { display: none; }
.cactus-premium-footer .cfx-newsletter-feedback { max-width: 680px; padding: 9px 20px; text-align: center; margin: auto; font-size: 13px; color: #64411f; }

@media (min-width: 761px) {
    .cactus-premium-footer .cfx-column > summary { pointer-events: none; }
    .cactus-premium-footer .cfx-column > .cfx-accordion-body { display: block !important; }
}
@media (min-width: 761px) and (max-width: 1220px) {
    .cactus-premium-footer .cfx-inner { width: min(1050px, calc(100% - 48px)); }
    .cactus-premium-footer .cfx-main::before, .cactus-premium-footer .cfx-main::after { opacity: .26; }
    .cactus-premium-footer .cfx-main-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px 14px; }
    .cactus-premium-footer .cfx-brand { grid-column: span 1; }
    .cactus-premium-footer .cfx-contact, .cactus-premium-footer .cfx-updates { grid-column: span 1; }
    .cactus-premium-footer .cfx-service-item { gap: 8px; padding: 0 8px; }
    .cactus-premium-footer .cfx-service-item > .cfx-icon { width: 30px; height: 30px; }
    .cactus-premium-footer .cfx-service-item strong { font-size: 14px; }
    .cactus-premium-footer .cfx-bottom-inner { flex-wrap: wrap; padding: 20px 0; }
}
@media (max-width: 760px) {
    .cactus-premium-footer { font-size: 14px; }
    .cactus-premium-footer .cfx-main { padding: 26px 0 0; background: #fbf7f1; }
    .cactus-premium-footer .cfx-main::before, .cactus-premium-footer .cfx-main::after { display: none; }
    .cactus-premium-footer .cfx-inner { width: 100%; }
    .cactus-premium-footer .cfx-main-grid { display: block; }
    .cactus-premium-footer .cfx-brand { text-align: center; padding: 0 16px 23px; }
    .cactus-premium-footer .cfx-brand-logo { width: clamp(118px, 32vw, 163px); height: auto; margin: 0 auto 5px; }
    .cactus-premium-footer .cfx-brand-title, .cactus-premium-footer .cfx-brand-description, .cactus-premium-footer .cfx-brand-features { display: none; }
    .cactus-premium-footer .cfx-brand-tagline { font: 17px/1.4 Georgia, 'Times New Roman', serif; margin: 0; color: #7e7670; }
    .cactus-premium-footer .cfx-column { margin: 0; padding: 0; border: 0; border-top: 1px solid #e7d7c5; background: #fbf7f1; }
    .cactus-premium-footer .cfx-column:last-child { border-bottom: 1px solid #e7d7c5; }
    .cactus-premium-footer .cfx-column summary { display: flex; align-items: center; gap: 21px; min-height: 70px; padding: 13px 24px; margin: 0; cursor: pointer; }
    .cactus-premium-footer .cfx-summary-icon { display: grid; color: #86501f; width: 34px; height: 34px; place-items: center; flex: 0 0 34px; }
    .cactus-premium-footer .cfx-summary-icon .cfx-icon { width: 32px; height: 32px; }
    .cactus-premium-footer .cfx-column summary h3 { flex: 1; font-size: clamp(18px, 4.5vw, 25px); line-height: 1.3; }
    .cactus-premium-footer .cfx-column summary h3::after { display: none; }
    .cactus-premium-footer .cfx-chevron { display: grid; place-items: center; transition: transform .18s ease; color: #191919; }
    .cactus-premium-footer .cfx-chevron .cfx-icon { width: 20px; height: 20px; }
    .cactus-premium-footer .cfx-column[open] .cfx-chevron { transform: rotate(180deg); }
    .cactus-premium-footer .cfx-accordion-body { padding: 0 24px 20px 79px; }
    .cactus-premium-footer .cfx-links { gap: 1px; }
    .cactus-premium-footer .cfx-links li a { font-size: 13px; min-height: 38px; }
    .cactus-premium-footer .cfx-contact-list { gap: 12px; }
    .cactus-premium-footer .cfx-contact-list li { font-size: 12px; }
    .cactus-premium-footer .cfx-map { height: 145px; }
    .cactus-premium-footer .cfx-updates p { margin: 0; }
    .cactus-premium-footer .cfx-updates .cfx-newsletter-form, .cactus-premium-footer .cfx-desktop-social { display: none; }
    .cactus-premium-footer .cfx-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 22px 13px; }
    .cactus-premium-footer .cfx-service-item { padding: 0 5px; flex-direction: column; gap: 8px; justify-content: start; text-align: center; }
    .cactus-premium-footer .cfx-service-item > .cfx-icon { box-sizing: content-box; width: 28px; height: 28px; padding: 13px; border-radius: 50%; background: #f4e7d8; }
    .cactus-premium-footer .cfx-service-item > span { gap: 0; }
    .cactus-premium-footer .cfx-service-item strong { font: 12px/1.32 Arial, Helvetica, sans-serif; font-weight: 500; }
    .cactus-premium-footer .cfx-service-item small { display: none; }
    .cactus-premium-footer .cfx-mobile-subscribe { display: block; padding: 18px 17px 0; background: #fbf7f1; }
    .cactus-premium-footer .cfx-newsletter-card { border-radius: 20px; background: #f5eadd; padding: 19px 17px; }
    .cactus-premium-footer .cfx-newsletter-title { display: flex; align-items: flex-start; gap: 14px; padding: 0 6px 17px; }
    .cactus-premium-footer .cfx-newsletter-title > .cfx-icon { color: #ad6a2b; width: 30px; height: 30px; }
    .cactus-premium-footer .cfx-newsletter-title > span { display: grid; gap: 8px; }
    .cactus-premium-footer .cfx-newsletter-title strong { font-size: clamp(17px, 4.4vw, 24px); line-height: 1.2; }
    .cactus-premium-footer .cfx-newsletter-title small { color: #827a70; font-size: 12px; line-height: 1.5; }
    .cactus-premium-footer .cfx-newsletter-form { height: 57px; }
    .cactus-premium-footer .cfx-mobile-social { text-align: center; padding: 19px 0 18px; }
    .cactus-premium-footer .cfx-mobile-social h3 { margin: 0 0 14px; font-size: 23px; }
    .cactus-premium-footer .cfx-social-links { justify-content: center; gap: 18px; }
    .cactus-premium-footer .cfx-social-links > a, .cactus-premium-footer .cfx-social-links > span { width: 48px; height: 48px; }
    .cactus-premium-footer .cfx-bottom { border-top: 1px solid #e5d7c9; }
    .cactus-premium-footer .cfx-bottom-inner { min-height: 0; padding: 16px 12px calc(99px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 8px; text-align: center; }
    .cactus-premium-footer .cfx-bottom p { font-size: 12px; line-height: 1.5; }
    .cactus-premium-footer .cfx-bottom small { font-size: 11px; }
    .cactus-premium-footer .cfx-payments { margin-top: 8px; gap: 8px; flex-wrap: wrap; }
    .cactus-premium-footer .cfx-payment { width: 48px; height: 34px; }
}
@media (max-width: 360px) {
    .cactus-premium-footer .cfx-column summary { gap: 13px; padding: 11px 16px; }
    .cactus-premium-footer .cfx-column summary h3 { font-size: 17px; }
    .cactus-premium-footer .cfx-service-grid { padding: 16px 4px; }
    .cactus-premium-footer .cfx-service-item { padding: 0 3px; }
    .cactus-premium-footer .cfx-service-item > .cfx-icon { padding: 8px; width: 24px; height: 24px; }
    .cactus-premium-footer .cfx-service-item strong { font-size: 10px; }
}
