/* ============================================================
   Wavion Lanka — template-footer.css v10.0 (Wavion Rebuild)
   Prefix: tt- | Matches template-header.css v10.0 design language:
   Onyx background, shimmering gold lining, glass CTA card, restrained
   shine-sweep on the primary button. No Ciao Cion / Italy content,
   no hotel card — this promotes the signature journey collection.

   Layout:
     Row 1 (4 cols): Brand · By Experience · By Home Market · Signature CTA
     Row 2 (3 cols): Company · Destinations & Gallery · Good to Know
     Bottom bar: Legal · Copyright · PERLYN-IT credit
   ============================================================ */

.tt-footer{position:relative;background:var(--color-navy-deep);color:var(--color-white-70);font-family:var(--font-primary);overflow:hidden;}

.tt-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--color-gold) 15%,var(--color-gold) 30%,var(--color-gold-light) 50%,var(--color-gold) 70%,var(--color-gold) 85%,transparent 100%);background-size:220% 100%;box-shadow:0 0 8px rgba(198,155,60,.5);animation:tt-footer-shimmer 6s linear infinite;pointer-events:none;z-index:2;}
@keyframes tt-footer-shimmer{0%{background-position:220% 0;}100%{background-position:-220% 0;}}

.tt-footer-glow{position:absolute;inset:0;pointer-events:none;background:
    radial-gradient(ellipse 60% 45% at 8% 0%, rgba(198,155,60,.05) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 95% 100%, rgba(142,149,152,.05) 0%, transparent 60%);
}

.tt-footer-main{position:relative;max-width:var(--container-wide);margin:0 auto;padding:52px 32px 22px;}

.tt-footer-row{display:grid;gap:28px;}
.tt-footer-row-1{grid-template-columns:1.35fr 1fr 1fr .95fr;}
.tt-footer-row-2{grid-template-columns:1.1fr 1.1fr .9fr;margin-top:30px;padding-top:26px;border-top:1px solid var(--border-navy);}
.tt-footer-col{display:flex;flex-direction:column;}

.tt-footer-col-title{display:flex;align-items:center;gap:8px;font-family:var(--font-accent);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold-light);margin:0 0 14px;}
.tt-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
.tt-footer-links a{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--color-white-60);line-height:1.4;transition:color .18s ease,padding-left .18s ease;}
.tt-footer-links a i{width:13px;text-align:center;color:var(--color-gold);font-size:11px;flex-shrink:0;}
.tt-footer-links a:hover{color:var(--color-gold-light);padding-left:3px;}
.tt-footer-links--cols{display:block;column-count:2;column-gap:16px;}
.tt-footer-links--cols li{break-inside:avoid;margin-bottom:7px;}
.tt-footer-links--cols a{display:block;}
.tt-footer-viewall{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border-navy);display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:var(--font-weight-semibold);color:var(--color-green-light);}
.tt-footer-viewall i{font-size:9px;transition:transform .18s ease;}
.tt-footer-viewall:hover{color:var(--color-gold-light);}
.tt-footer-viewall:hover i{transform:translateX(3px);}

/* ── Brand column — circular logo with soft glow, single SL office chip ── */
.tt-footer-brand{display:flex;align-items:center;gap:13px;margin-bottom:16px;}
.tt-footer-logo-wrap{position:relative;flex-shrink:0;}
.tt-footer-logo-wrap::before{content:'';position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(198,155,60,.4),transparent 72%);pointer-events:none;}
.tt-footer-logo{position:relative;width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 4px 18px rgba(198,155,60,.35);}
.tt-footer-brand-name{display:block;font-family:var(--font-display);font-size:17px;font-weight:var(--font-weight-semibold);color:var(--color-white);}
.tt-footer-brand-tag{display:block;font-family:var(--font-elegant);font-style:italic;font-size:11px;color:var(--color-gold-light);margin-top:2px;line-height:1.35;}
.tt-footer-desc{font-size:12px;line-height:1.6;color:var(--color-white-55,rgba(255,255,255,.55));margin:0 0 16px;}

.tt-footer-office{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--color-white-75,rgba(255,255,255,.75));padding:8px 11px;border-radius:var(--radius-md);background:var(--color-white-05);border:1px solid var(--border-light);transition:all .18s ease;margin-bottom:12px;}
.tt-footer-office:hover{border-color:var(--border-gold);color:var(--color-gold-light);}
.tt-footer-office-flag{font-size:15px;flex-shrink:0;}
.tt-footer-office b{color:var(--color-white);font-weight:var(--font-weight-semibold);}

.tt-footer-contacts{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.tt-footer-cchip{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--color-white-75,rgba(255,255,255,.75));padding:7px 10px;border-radius:var(--radius-md);background:var(--color-white-05);border:1px solid var(--border-light);transition:all .18s ease;}
.tt-footer-cchip:hover{border-color:var(--border-gold);color:var(--color-gold-light);}
.tt-footer-cchip i{color:var(--color-gold);width:14px;text-align:center;}
.tt-footer-cchip--wa i{color:var(--wa-green, #25D366);}

.tt-footer-socials{display:flex;gap:9px;margin-top:auto;}
.tt-footer-social{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-white-05);border:1px solid var(--border-light);color:var(--color-white-65,rgba(255,255,255,.65));font-size:13px;transition:all .2s ease;}
.tt-footer-social:hover{background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold));color:var(--color-navy-deep);border-color:transparent;transform:translateY(-2px);box-shadow:var(--shadow-gold);}

/* CTA card no longer stretches to match the (much taller) brand column —
   that stretch plus the button's margin-top:auto was exactly what created
   the large empty gap between the package list and the button. Now it
   sizes to its own content and sits pinned to the top of its column. */
.tt-footer-cta-col{align-self:start;}

/* ── Signature CTA card (row 1, col 4) — glass card, shine-sweep button.
   Uses a dark gold-tinted gradient built for this context, NOT the
   site's shared --gradient-card token (that resolves to a light cream
   gradient meant for light-theme cards elsewhere — using it here with
   white/light text on top was the cause of the low-contrast, washed-out
   text you'd see: light text on a light card). ── */
.tt-footer-cta-card{position:relative;padding:18px 18px 16px;border-radius:var(--radius-lg);background:linear-gradient(145deg,rgba(198,155,60,.14) 0%,rgba(0,0,0,.30) 100%);border:1px solid var(--border-gold);overflow:hidden;display:flex;flex-direction:column;}
.tt-footer-cta-card::before{content:'';position:absolute;top:-30%;right:-20%;width:140px;height:140px;background:radial-gradient(circle,rgba(198,155,60,.20),transparent 70%);pointer-events:none;}
.tt-footer-cta-badge{position:relative;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-accent);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-navy-deep);background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold));padding:4px 10px;border-radius:var(--radius-full);margin-bottom:10px;align-self:flex-start;}
.tt-footer-cta-title{position:relative;font-family:var(--font-display);font-size:16px;color:var(--color-white);margin:0 0 6px;line-height:1.3;}
.tt-footer-cta-text{position:relative;font-size:11.5px;line-height:1.5;color:var(--color-white-55,rgba(255,255,255,.55));margin:0 0 14px;}
.tt-footer-cta-list{position:relative;list-style:none;margin:0 0 14px;padding:8px 0 0;border-top:1px dashed var(--border-gold);display:flex;flex-direction:column;gap:6px;}
.tt-footer-cta-list a{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;color:var(--color-white-65,rgba(255,255,255,.65));transition:color .18s ease;}
.tt-footer-cta-list a:hover{color:var(--color-gold-light);}
.tt-footer-cta-list em{font-style:normal;font-size:9.5px;color:var(--color-gold);}
.tt-footer-cta-btn{position:relative;overflow:hidden;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold));color:var(--color-navy-deep);font-size:11.5px;font-weight:var(--font-weight-bold);transition:transform .2s ease;}
.tt-footer-cta-btn::before{content:'';position:absolute;top:-40%;left:0;width:26%;height:180%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);transform:translateX(-160%) skewX(-18deg);pointer-events:none;}
.tt-footer-cta-btn:hover{transform:translateY(-2px);}
.tt-footer-cta-btn:hover::before{animation:tt-footer-shine-sweep 850ms ease;}
@keyframes tt-footer-shine-sweep{0%{transform:translateX(-160%) skewX(-18deg);}100%{transform:translateX(260%) skewX(-18deg);}}

/* ── Info column (row 2) — trust badges, hours, language badges, map ── */
.tt-footer-info-col{gap:11px;}
.tt-footer-trust-row{display:flex;flex-direction:column;gap:6px;}
.tt-footer-trust-badge{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--color-white-70);}
.tt-footer-trust-badge i{color:var(--color-gold);width:13px;text-align:center;}
.tt-footer-hours{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:var(--color-white-55,rgba(255,255,255,.55));}
.tt-footer-hours i{color:var(--color-gold);margin-top:2px;}
.tt-footer-hours b{color:var(--color-white-80);font-weight:var(--font-weight-medium);}
.tt-footer-langs-list{display:flex;flex-wrap:wrap;gap:6px;max-height:72px;overflow-y:auto;}
.tt-footer-langs-list::-webkit-scrollbar{width:4px;}
.tt-footer-langs-list::-webkit-scrollbar-thumb{background:var(--color-gold-dark);border-radius:var(--radius-full);}
.tt-footer-lang-badge{font-size:10.5px;padding:3px 9px;border-radius:var(--radius-full);background:var(--color-white-05);border:1px solid var(--border-light);color:var(--color-white-65,rgba(255,255,255,.65));white-space:nowrap;}
.tt-footer-map{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--color-white-65,rgba(255,255,255,.65));padding:9px 11px;border-radius:var(--radius-md);background:var(--color-white-05);border:1px solid var(--border-light);transition:all .18s ease;}
.tt-footer-map:hover{border-color:var(--border-gold);color:var(--color-gold-light);}
.tt-footer-map i:first-child{color:var(--color-gold);}
.tt-footer-map-ext{margin-left:auto;font-size:9px;opacity:.7;}

/* ── Bottom bar — fixed order: legal · copyright · credit ── */
.tt-footer-bottom{position:relative;border-top:1px solid var(--border-navy);background:var(--color-navy-deep);}
.tt-footer-bottom-inner{max-width:var(--container-wide);margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.tt-footer-legal{display:flex;align-items:center;gap:9px;font-size:11.5px;order:1;flex-shrink:0;}
.tt-footer-legal a{color:var(--color-white-55,rgba(255,255,255,.55));transition:color .18s ease;}
.tt-footer-legal a:hover{color:var(--color-gold-light);}
.tt-footer-dot{color:var(--color-white-25,rgba(255,255,255,.25));}
.tt-footer-copyright{order:2;margin:0;font-size:11.5px;letter-spacing:.01em;color:var(--color-white-50);text-align:center;flex:1;min-width:260px;}
.tt-footer-copyright span{color:var(--color-white-75,rgba(255,255,255,.75));font-weight:var(--font-weight-medium);}
.tt-footer-credit{order:3;flex-shrink:0;display:flex;align-items:center;gap:6px;}
.tt-footer-credit-label{font-size:10.5px;color:var(--color-white-40,rgba(255,255,255,.40));white-space:nowrap;}
.tt-footer-credit-brand{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:var(--font-weight-bold);letter-spacing:.02em;white-space:nowrap;
    background:linear-gradient(90deg,var(--color-gold-dark) 0%,var(--color-gold-light) 25%,var(--color-gold) 50%,var(--color-gold-light) 75%,var(--color-gold-dark) 100%);
    background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;
    animation:tt-credit-shine 4s linear infinite;transition:opacity .2s ease;}
.tt-footer-credit:hover .tt-footer-credit-brand{opacity:.85;}
.tt-footer-credit-brand i{font-size:9px;color:var(--color-gold-light);-webkit-text-fill-color:var(--color-gold-light);}
@keyframes tt-credit-shine{0%{background-position:200% center;}100%{background-position:-200% center;}}

/* ============================================================ RESPONSIVE */
@media (max-width: 1180px){
    .tt-footer-row-1{grid-template-columns:1fr 1fr;gap:26px 22px;}
    .tt-footer-brand-col{grid-column:span 2;}
    .tt-footer-cta-col{grid-column:span 2;}
    .tt-footer-cta-card{max-width:480px;}
    .tt-footer-row-2{grid-template-columns:1fr 1fr;gap:26px 22px;}
    .tt-footer-info-col{grid-column:span 2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;}
    .tt-footer-hours{flex:1 1 260px;}
    .tt-footer-map{flex:1 1 240px;margin-top:0;}
}
@media (max-width: 640px){
    .tt-footer-main{padding:36px 20px 20px;}
    .tt-footer-row-1,.tt-footer-row-2{grid-template-columns:1fr;}
    .tt-footer-brand-col,.tt-footer-cta-col,.tt-footer-info-col{grid-column:span 1;}
    .tt-footer-cta-card{max-width:none;}
    .tt-footer-info-col{flex-direction:column;align-items:flex-start;}
    .tt-footer-links--cols{column-count:1;}
    .tt-footer-bottom-inner{flex-direction:column;text-align:center;padding:16px 20px;}
    .tt-footer-copyright{order:1;}
    .tt-footer-legal{order:2;}
    .tt-footer-credit{order:3;}
}