.tff-footer{width:100%;background:#151515;color:#fff;font-family:inherit;box-sizing:border-box;overflow:hidden}
.tff-footer *{box-sizing:border-box}
.tff-inner{width:100%;margin:0 auto;padding:68px 54px 28px}
.tff-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr 1.18fr;gap:56px;align-items:start}
.tff-logo{display:inline-flex;line-height:0;margin-bottom:30px}
.tff-logo img{display:block;width:178px;height:auto;max-width:100%}
.tff-description{margin:0 0 22px;max-width:420px;font-size:18px;line-height:1.65;color:#f0f0f0;font-weight:400}
.tff-socials{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 34px}
.tff-social{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;background:#202020;color:#fff;text-decoration:none;border:1px solid #2a2a2a;border-radius:12px;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.tff-social svg{display:block;width:22px;height:22px;fill:currentColor;flex:0 0 auto}
.tff-social i{font-size:22px;line-height:1}
.tff-social:hover{transform:translateY(-3px);background:#6c3cff;color:#fff;border-color:rgba(255,255,255,.18);box-shadow:0 12px 30px rgba(108,60,255,.28)}
.tff-social:focus-visible{outline:2px solid #8b5cff;outline-offset:3px}
.tff-award{margin-top:28px}.tff-award img{display:block;width:250px;height:auto;max-width:100%;border-radius:12px}
.tff-heading{margin:8px 0 30px;color:#fff;font-size:29px;line-height:1.2;font-weight:800;letter-spacing:-.02em}
.tff-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.tff-links a{color:#f0f0f0;text-decoration:underline;text-underline-offset:3px;font-size:18px;line-height:1.4;transition:color .2s ease,transform .2s ease}
.tff-links a:hover{color:#8b5cff;transform:translateX(2px)}
.tff-contact-list{display:flex;flex-direction:column;gap:12px}
.tff-contact-item{display:flex;align-items:flex-start;gap:10px;color:#f2f2f2;font-size:17px;line-height:1.55}
.tff-contact-icon{flex:0 0 auto;width:20px;color:#8b5cff;font-weight:700;line-height:1.55}
.tff-contact-label{color:#8b5cff;font-weight:800}
.tff-contact-text{color:inherit}.tff-contact-item a{color:#f2f2f2;text-decoration:underline;text-underline-offset:3px}.tff-contact-item a:hover{color:#8b5cff}
.tff-bottom{margin-top:58px;padding-top:28px;border-top:1px solid #343434;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#9a9a9a;font-size:15px;line-height:1.5}
.tff-bottom-links{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.tff-bottom a{color:#9a9a9a;text-decoration:none}.tff-bottom a:hover{color:#8b5cff}.tff-sep{opacity:.7}
@media(max-width:1200px){.tff-grid{grid-template-columns:1.2fr 1fr 1fr;gap:44px}.tff-contact-col{grid-column:1/-1;max-width:880px}.tff-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}}
@media(max-width:900px){.tff-inner{padding:56px 32px 24px}.tff-grid{grid-template-columns:1fr 1fr;gap:48px 36px}.tff-brand-col{grid-column:1/-1}.tff-contact-col{grid-column:1/-1}.tff-description{max-width:650px}.tff-bottom{margin-top:46px}}
@media(max-width:640px){.tff-inner{padding:46px 22px 22px}.tff-grid{grid-template-columns:1fr;gap:40px}.tff-brand-col,.tff-contact-col{grid-column:auto}.tff-logo{margin-bottom:24px}.tff-description{font-size:16px;line-height:1.65}.tff-heading{font-size:25px;margin-bottom:22px}.tff-links a{font-size:16px}.tff-contact-list{display:flex;gap:15px}.tff-contact-item{font-size:16px}.tff-bottom{flex-direction:column;align-items:flex-start;margin-top:42px;padding-top:22px}.tff-bottom-links{gap:10px}}

/* Compact mobile accordion footer */
.tff-accordion-toggle{display:block;width:100%;padding:0;margin:0;background:none;border:0;color:inherit;text-align:left;font:inherit;cursor:default}
.tff-accordion-toggle .tff-heading{display:block}
.tff-accordion-icon{display:none}
.tff-accordion-panel{display:block}

@media(max-width:640px){
  .tff-inner{padding:32px 18px 18px!important}
  .tff-grid{gap:0!important}
  .tff-logo{margin-bottom:14px}
  .tff-logo img{max-width:145px}
  .tff-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-bottom:16px;font-size:14px;line-height:1.55;max-width:100%}
  .tff-socials{gap:9px;margin-bottom:20px}
  .tff-social{width:44px;height:44px;border-radius:10px}
  .tff-social svg{width:19px;height:19px}
  .tff-award{display:none}

  .tff-accordion{border-top:1px solid rgba(255,255,255,.1)}
  .tff-accordion:last-of-type{border-bottom:1px solid rgba(255,255,255,.1)}
  .tff-accordion-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;cursor:pointer}
  .tff-accordion-toggle .tff-heading{margin:0!important;font-size:18px!important;line-height:1.25;font-weight:750}
  .tff-accordion-icon{display:block;position:relative;width:20px;height:20px;flex:0 0 20px}
  .tff-accordion-icon:before,.tff-accordion-icon:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#8b5cff;border-radius:2px;transform:translate(-50%,-50%);transition:transform .2s ease,opacity .2s ease}
  .tff-accordion-icon:after{transform:translate(-50%,-50%) rotate(90deg)}
  .tff-accordion.is-open .tff-accordion-icon:after{opacity:0;transform:translate(-50%,-50%) rotate(0)}
  .tff-accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
  .tff-accordion-panel>*{overflow:hidden}
  .tff-accordion.is-open .tff-accordion-panel{grid-template-rows:1fr}
  .tff-links{gap:0;padding:0 0 13px}
  .tff-links a{display:block;width:100%;padding:8px 0;font-size:14px;line-height:1.35;text-decoration:none;color:#d6d6d6}
  .tff-contact-list{display:flex!important;gap:0!important;padding:0 0 12px}
  .tff-contact-item{padding:8px 0;font-size:14px;line-height:1.45;gap:8px}
  .tff-contact-icon{width:18px}
  .tff-contact-label{font-size:14px}
  .tff-contact-text{font-size:14px}

  .tff-bottom{margin-top:18px!important;padding-top:16px!important;gap:10px!important;font-size:12px;line-height:1.4;align-items:center!important;text-align:center}
  .tff-copyright{width:100%}
  .tff-bottom-links{width:100%;justify-content:center;gap:8px!important}
  .tff-bottom-links a{font-size:12px}
  .tff-sep{display:none}
}

/* v1.6 — force Tourfy purple accordion hover/active states; override theme button styles */
@media(max-width:640px){
  .tff-footer .tff-accordion-toggle,
  .tff-footer .tff-accordion-toggle:hover,
  .tff-footer .tff-accordion-toggle:focus,
  .tff-footer .tff-accordion-toggle:active{
    -webkit-appearance:none!important;
    appearance:none!important;
    background:transparent!important;
    background-color:transparent!important;
    background-image:none!important;
    color:#fff!important;
    border:0!important;
    border-radius:10px!important;
    box-shadow:none!important;
    outline:none!important;
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .tff-footer .tff-accordion-toggle:hover,
  .tff-footer .tff-accordion-toggle:focus-visible{
    background:rgba(108,60,255,.12)!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .tff-footer .tff-accordion.is-open .tff-accordion-toggle{
    background:linear-gradient(90deg,rgba(108,60,255,.20),rgba(139,92,255,.08))!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .tff-footer .tff-accordion-toggle:hover .tff-heading,
  .tff-footer .tff-accordion.is-open .tff-accordion-toggle .tff-heading{color:#fff!important}
  .tff-footer .tff-accordion-toggle:hover .tff-accordion-icon:before,
  .tff-footer .tff-accordion-toggle:hover .tff-accordion-icon:after,
  .tff-footer .tff-accordion.is-open .tff-accordion-icon:before,
  .tff-footer .tff-accordion.is-open .tff-accordion-icon:after{background:#8b5cff!important}
}
