/* ==========================================================================
   Chancery Footer Widget — v1.2.0
   Wise Digital Marketing Ltd | Berry Crimson #A62461 | Teal Mint #7ABFB8
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400;500;600;700&family=Open+Sans:wght@300;400;500;600&display=swap');

.cfw-outer *, .cfw-outer *::before, .cfw-outer *::after { box-sizing: border-box; }
.cfw-outer { font-family: 'Open Sans', sans-serif; width: 100%; background-color: #110809; }

/* ── Footer & Panels ─────────────────────────────────────────────────────── */
.cfw-footer { width: 100%; position: relative; }

.cfw-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
}
.cfw-layout-three_col .cfw-panels  { grid-template-columns: repeat(3,1fr); }
.cfw-layout-centered .cfw-panels,
.cfw-layout-minimal  .cfw-panels   { grid-template-columns: 1fr; }

.cfw-panel {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
.cfw-panel-left  { background-color: #1c0d13; }
.cfw-panel-right { background-color: #22101a; }

/* ========================================================================
   RIGHT PANEL DECORATION
   ======================================================================== */

.cfw-panel-deco {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
    border-radius: inherit;
}

/* All real content sits above the decoration */
.cfw-panel-right > *:not(.cfw-panel-deco) {
    position: relative;
    z-index: 1;
}

/* ── Floating gradient orbs ──────────────────────────────────────────────── */
@keyframes cfw-float-1 {
    0%,100% { transform: translate(0%,   0%)   scale(1); }
    33%      { transform: translate(12%,  -15%) scale(1.08); }
    66%      { transform: translate(-8%,  10%)  scale(0.94); }
}
@keyframes cfw-float-2 {
    0%,100% { transform: translate(0%,   0%)   scale(1); }
    40%      { transform: translate(-14%, 12%)  scale(1.1); }
    70%      { transform: translate(10%,  -8%)  scale(0.92); }
}
@keyframes cfw-float-3 {
    0%,100% { transform: translate(0%,  0%)    scale(1); }
    50%      { transform: translate(8%,  18%)   scale(1.06); }
}

.cfw-deco-orb {
    position: absolute;
    border-radius: 50%;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    will-change: transform;
}

.cfw-deco-orb-1 {
    width: 80%;
    aspect-ratio: 1;
    top: -20%;
    right: -15%;
    animation-name: cfw-float-1;
}
.cfw-deco-orb-2 {
    width: 65%;
    aspect-ratio: 1;
    bottom: -15%;
    left: -10%;
    animation-name: cfw-float-2;
}
.cfw-deco-orb-3 {
    width: 45%;
    aspect-ratio: 1;
    top: 50%;
    left: 30%;
    transform: translateY(-50%);
    animation-name: cfw-float-3;
}

/* ── Tooth / Cross watermark ─────────────────────────────────────────────── */
.cfw-deco-tooth {
    position: absolute;
    bottom: -8%;
    right: -6%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

/* ========================================================================
   PANEL BORDERS
   ======================================================================== */

.cfw-border-static {
    border-width: var(--cfw-bw, 1px);
    border-style: solid;
    border-color: var(--cfw-bc, #3a1520);
}

.cfw-border-anim {
    overflow: visible;
}

.cfw-border-anim::before {
    content: '';
    position: absolute;
    inset: calc(var(--cfw-bw, 1px) * -1);
    border-radius: inherit;
    z-index: -2;
    background: var(--cfw-bc, #3a1520);
}
.cfw-border-anim::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: inherit;
    z-index: -1;
}

@property --cfw-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}
@keyframes cfw-spin {
    from { --cfw-angle: 0deg; }
    to   { --cfw-angle: 360deg; }
}
.cfw-border-shimmer::before {
    background: conic-gradient(
        from var(--cfw-angle),
        var(--cfw-bc3,#2a1018) 0%,
        var(--cfw-bc1,#A62461) 25%,
        var(--cfw-bc2,#7ABFB8) 50%,
        var(--cfw-bc1,#A62461) 75%,
        var(--cfw-bc3,#2a1018) 100%
    );
    animation: cfw-spin var(--cfw-bs,6s) linear infinite;
}
@supports not (background: conic-gradient(from 0deg, red, blue)) {
    .cfw-border-shimmer::before {
        background: linear-gradient(135deg, var(--cfw-bc1,#A62461), var(--cfw-bc2,#7ABFB8), var(--cfw-bc3,#2a1018));
        animation: cfw-spin-fb var(--cfw-bs,6s) linear infinite;
    }
    @keyframes cfw-spin-fb {
        from { filter: hue-rotate(0deg); }
        to   { filter: hue-rotate(360deg); }
    }
}

@keyframes cfw-pulse {
    0%,100% {
        box-shadow: 0 0 0px 0px var(--cfw-pulse,#A62461), inset 0 0 0px 0px var(--cfw-pulse,#A62461);
        border-color: color-mix(in srgb, var(--cfw-pulse,#A62461) 18%, transparent);
    }
    50% {
        box-shadow: 0 0 20px 3px color-mix(in srgb, var(--cfw-pulse,#A62461) 40%, transparent),
                    inset 0 0 14px 0px color-mix(in srgb, var(--cfw-pulse,#A62461) 10%, transparent);
        border-color: color-mix(in srgb, var(--cfw-pulse,#A62461) 65%, transparent);
    }
}
.cfw-border-pulse {
    border: var(--cfw-bw,1px) solid transparent;
    animation: cfw-pulse var(--cfw-bs,6s) ease-in-out infinite;
}
.cfw-border-pulse::before,
.cfw-border-pulse::after { display: none; }

/* ========================================================================
   BRAND
   ======================================================================== */
.cfw-brand { margin-bottom: 28px; }
.cfw-logo  { margin-bottom: 10px; }
.cfw-logo img { display: block; height: auto; max-width: 100%; }
.cfw-brand-name {
    display: block;
    font-family: 'Raleway', sans-serif;
    font-size: 1.3rem; font-weight: 700; letter-spacing: .02em;
    color: #fff; margin-bottom: 8px;
}
.cfw-brand-tagline { font-size: .875rem; color: #c07a90; line-height: 1.6; margin: 0; }

/* ── Section Headings ─────────────────────────────────────────────────────── */
.cfw-section-heading {
    font-family: 'Raleway', sans-serif;
    font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
    color: #fff; margin: 0 0 18px; padding-bottom: 12px;
    border-bottom: 1px solid rgba(166,36,97,.3);
}

/* ── Nav Links ─────────────────────────────────────────────────────────────── */
.cfw-nav { display:grid; grid-template-columns:1fr 1fr; gap:0; flex:1; margin-bottom:28px; }
.cfw-nav-cols-1 { grid-template-columns:1fr; }
.cfw-nav-cols-2 { grid-template-columns:1fr 1fr; }
.cfw-nav-cols-3 { grid-template-columns:1fr 1fr 1fr; }

.cfw-nav-link {
    display: inline-block; font-size: .88rem; color: #c9899f;
    text-decoration: none; margin-bottom: 14px;
    transition: color 220ms ease, transform 220ms ease;
    position: relative; width: fit-content;
}
.cfw-underline-hover.cfw-nav-link::after {
    content:''; display:block; position:absolute; bottom:-2px; left:0;
    width:0; height:1px; background-color:currentColor; transition:width 220ms ease;
}
.cfw-underline-hover.cfw-nav-link:hover::after { width: 100%; }
.cfw-nav-link:hover  { color: #e8abc1; transform: translateX(3px); }
.cfw-nav-link.active { color: #fff; }

/* ── Contact ───────────────────────────────────────────────────────────────── */
.cfw-contact-address-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.cfw-contact-col, .cfw-address-col { display:flex; flex-direction:column; }

.cfw-contact-item { display:flex; align-items:flex-start; gap:10px; font-size:.875rem; color:#c9899f; margin-bottom:12px; line-height:1.5; }
.cfw-contact-item a { color: #7ABFB8; text-decoration:none; transition:color 220ms ease; }
.cfw-contact-item a:hover { color: #e8abc1; }
.cfw-contact-icon { flex-shrink:0; width:18px; height:18px; display:flex; align-items:center; justify-content:center; color:#A62461; margin-top:1px; }
.cfw-contact-icon svg { width:16px; height:16px; }
.cfw-address address { font-style:normal; line-height:1.6; }

/* ── Divider ─────────────────────────────────────────────────────────────── */
.cfw-divider { border:none; border-top:1px solid rgba(166,36,97,.25); margin:24px 0; }

/* ── Subscribe ───────────────────────────────────────────────────────────── */
.cfw-subscribe-wrap { margin-top: auto; }
.cfw-subscribe-heading { font-family:'Raleway',sans-serif; font-size:1rem; font-weight:600; color:#fff; margin:0 0 6px; }
.cfw-subscribe-subtext { font-size:.8rem; color:#9a5a70; line-height:1.6; margin:0 0 16px; }
.cfw-subscribe-form { display:flex; gap:10px; align-items:stretch; }

.cfw-subscribe-input {
    flex:1; background:rgba(0,0,0,.4); border:1px solid rgba(166,36,97,.35);
    border-radius:8px; padding:12px 16px; font-size:.875rem; color:#fff;
    font-family:'Open Sans',sans-serif; outline:none; transition:border-color 220ms ease; min-width:0;
    backdrop-filter: blur(4px);
}
.cfw-subscribe-input::placeholder { color: rgba(201,137,159,.5); }
.cfw-subscribe-input:focus { border-color: #A62461; }

.cfw-subscribe-btn {
    background: #A62461; color:#fff; border:none; border-radius:8px;
    padding:12px 20px; font-size:.875rem; font-weight:600;
    font-family:'Raleway',sans-serif; letter-spacing:.03em;
    cursor:pointer; white-space:nowrap;
    transition:background-color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}
.cfw-subscribe-btn:hover {
    background: #c42d74;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(166,36,97,.4);
}
.cfw-subscribe-btn:active { transform:translateY(0); }

/* ── Social Icons ────────────────────────────────────────────────────────── */
.cfw-social-icons { display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:24px; }

.cfw-social-icon {
    display:inline-flex; align-items:center; justify-content:center;
    width:42px; height:42px; border-radius:8px;
    background: rgba(166,36,97,.15);
    border: 1px solid rgba(166,36,97,.2);
    color:#c9899f; text-decoration:none;
    transition:background-color 220ms ease, color 220ms ease, transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.cfw-social-icon:hover {
    background: #A62461; color:#fff; border-color: #A62461;
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(166,36,97,.4);
}
.cfw-social-icon svg { width:16px; height:16px; display:block; }

/* ── Bottom Bar ──────────────────────────────────────────────────────────── */
.cfw-bottom-bar { background: #160a0f; border-top: 1px solid rgba(166,36,97,.2); }
.cfw-bottom-bar-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:18px 24px; }
.cfw-bottom-left, .cfw-bottom-right { font-size:.78rem; color:#7a4555; }
.cfw-bottom-bar a { color:#7a4555; text-decoration:none; transition:color 220ms ease; }
.cfw-bottom-bar a:hover { color: #A62461; }
.cfw-bottom-bar .cfw-social-icons { margin-top:0; padding-top:0; }

/* ========================================================================
   MOBILE LOGO HEADER
   ======================================================================== */
.cfw-mobile-logo-header { display:none; text-align:center; padding-bottom:32px; opacity:0; }
.cfw-mobile-logo-img { display:block; height:auto; }
.cfw-mobile-logo-align-left   .cfw-mobile-logo-img { margin:0 auto 0 0; }
.cfw-mobile-logo-align-center .cfw-mobile-logo-img { margin:0 auto; }
.cfw-mobile-logo-align-right  .cfw-mobile-logo-img { margin:0 0 0 auto; }
.cfw-mobile-logo-align-left   { text-align:left; }
.cfw-mobile-logo-align-center { text-align:center; }
.cfw-mobile-logo-align-right  { text-align:right; }
.cfw-mobile-logo-tagline { margin:10px 0 0; font-size:.82rem; color:#9a5a70; line-height:1.5; opacity:0; transform:translateY(6px); transition:opacity 500ms ease 200ms, transform 500ms ease 200ms; }
.cfw-mobile-logo-divider { position:relative; }
.cfw-mobile-logo-divider::after { content:''; display:block; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:60px; height:1px; background:rgba(166,36,97,.3); }

/* Pre-animation states */
.cfw-mobile-logo-header[data-cfw-ml-anim="fade_scale"] .cfw-mobile-logo-img { transform:scale(.88); filter:blur(4px); }
.cfw-mobile-logo-header[data-cfw-ml-anim="fade_down"]  .cfw-mobile-logo-img { transform:translateY(-22px); }
.cfw-mobile-logo-header[data-cfw-ml-anim="fade_up"]    .cfw-mobile-logo-img { transform:translateY(22px); }
.cfw-mobile-logo-header[data-cfw-ml-anim="blur_in"]    .cfw-mobile-logo-img { filter:blur(14px); transform:scale(1.03); }
.cfw-mobile-logo-img { transition-property:opacity,transform,filter; will-change:transform,opacity; }

.cfw-mobile-logo-header.cfw-ml-in { opacity:1; transition-property:opacity; }
.cfw-mobile-logo-header.cfw-ml-in .cfw-mobile-logo-img { transform:none !important; filter:none !important; }
.cfw-mobile-logo-header.cfw-ml-in .cfw-mobile-logo-tagline { opacity:1; transform:none; }

/* ========================================================================
   ENTRANCE ANIMATIONS
   ======================================================================== */
[data-cfw-animate="1"] .cfw-animate-item { opacity:0; }
[data-cfw-animate="1"][data-cfw-type="fade_up"]    .cfw-animate-item { transform:translateY(30px); }
[data-cfw-animate="1"][data-cfw-type="slide_left"] .cfw-animate-item { transform:translateX(-40px); }
[data-cfw-animate="1"][data-cfw-type="slide_right"].cfw-animate-item { transform:translateX(40px); }
[data-cfw-animate="1"][data-cfw-type="scale_up"]   .cfw-animate-item { transform:scale(.9); }
[data-cfw-animate="1"][data-cfw-type="blur_in"]    .cfw-animate-item { filter:blur(8px); }
[data-cfw-animate="1"] .cfw-animate-item.cfw-in    { opacity:1; transform:none; filter:none; }
[data-cfw-animate="1"] .cfw-nav-link               { opacity:0; transform:translateY(10px); transition-property:opacity,transform,color; }
[data-cfw-animate="1"] .cfw-nav-link.cfw-in        { opacity:1; transform:none; }

/* ========================================================================
   RESPONSIVE
   ======================================================================== */
@media (max-width:900px) {
    .cfw-contact-address-row { grid-template-columns:1fr; gap:16px; }
}

@media (max-width:768px) {
    .cfw-mobile-logo-header { display:block; }
    .cfw-mobile-stack .cfw-panels { grid-template-columns:1fr; }
    .cfw-mobile-stack .cfw-panel  { min-height:auto; }
    .cfw-has-mobile-logo .cfw-panel-left .cfw-brand { display:none; }

    .cfw-mobile-center .cfw-brand,
    .cfw-mobile-center .cfw-nav,
    .cfw-mobile-center .cfw-contact-item,
    .cfw-mobile-center .cfw-subscribe-form,
    .cfw-mobile-center .cfw-social-icons { justify-content:center; text-align:center; }
    .cfw-mobile-center .cfw-nav-link     { display:block; text-align:center; }

    .cfw-nav-cols-2, .cfw-nav-cols-3 { grid-template-columns:1fr 1fr; }
    .cfw-subscribe-form               { flex-direction:column; }
    .cfw-subscribe-btn                { width:100%; }
    .cfw-bottom-bar-inner             { flex-direction:column; align-items:flex-start; gap:6px; }
    .cfw-contact-address-row          { grid-template-columns:1fr; }

    .cfw-mobile-accordion .cfw-section-heading { cursor:pointer; user-select:none; position:relative; }
    .cfw-mobile-accordion .cfw-section-heading::after { content:'+'; position:absolute; right:0; font-weight:300; font-size:1.2em; transition:transform 220ms ease; }
    .cfw-mobile-accordion .cfw-section-heading.open::after { transform:rotate(45deg); }
    .cfw-mobile-accordion .cfw-nav { overflow:hidden; max-height:0; transition:max-height 400ms ease; display:flex; flex-direction:column; }
    .cfw-mobile-accordion .cfw-nav.open { max-height:600px; }
}

@media (max-width:480px) {
    .cfw-nav-cols-2, .cfw-nav-cols-3 { grid-template-columns:1fr; }
}
