/* ============================================================
   Almare Lanka Travels: template-footer.css v13.0 (Sapphire Night)
   Prefix: tt-ft- | Every colour, font, radius and shadow comes from
   main.css tokens (the --hdr-* / --ftr-* sets and shared tokens).
   Nothing is hardcoded here.

   Same family as the header: a champagne gold bar along the top edge
   with a bright streak and a star glint travelling along it from left
   to right, a soft silver light sweeping across the footer, the
   company name with the silver gleam, and the running silver streak
   on the bottom bar's hairline. Four balanced columns.
   ============================================================ */

:root{
    --tt-ft-bg:        var(--hdr-night);
    --tt-ft-line:      var(--color-white-12);
    --tt-ft-text:      var(--hdr-text);
    --tt-ft-dim:       var(--hdr-text-soft);
    --tt-ft-mute:      var(--hdr-text-mute);
    --tt-ft-gold:      var(--hdr-gold);
    --tt-ft-gold-lt:   var(--hdr-gold-light);
    --tt-ft-gold-line: var(--hdr-hair);
    --tt-ft-ease:      var(--ease-premium);
}

.tt-footer{position:relative;z-index:var(--z-index-10);background:var(--tt-ft-bg);font-family:var(--font-primary);color:var(--tt-ft-text);isolation:isolate;overflow-x:clip;}
/* gold bar on the top edge with a bright streak running left to right */
.tt-footer::before{content:'';position:absolute;left:0;right:0;top:0;height:var(--ftr-bar-height);background:var(--ftr-gold-streak) -320px 0 / 320px 100% no-repeat,var(--ftr-gold-bar);filter:var(--ftr-gold-glow);animation:tt-ft-streak 7s var(--tt-ft-ease) infinite;pointer-events:none;z-index:2;}
/* star glint riding at the head of the streak */
.tt-footer::after{content:'';position:absolute;top:calc(var(--ftr-bar-height) / 2 - 17px);left:-177px;width:34px;height:34px;background:var(--ftr-star);filter:var(--ftr-star-glow);animation:tt-ft-star 7s var(--tt-ft-ease) infinite;pointer-events:none;z-index:3;}
@keyframes tt-ft-star{0%{left:-177px;transform:scale(.6) rotate(0deg);opacity:0;}8%{opacity:1;}27%{transform:scale(1.15) rotate(45deg);}47%{opacity:1;}55%{left:calc(100% + 143px);transform:scale(.6) rotate(90deg);opacity:0;}100%{left:calc(100% + 143px);opacity:0;}}
/* soft silver light sweeping left to right across the footer */
.tt-ft-grid{position:relative;}
.tt-ft-grid::before{content:'';position:absolute;inset:0;background:var(--hdr-sweep);background-size:300% 100%;background-repeat:no-repeat;-webkit-mask-image:var(--ftr-sweep-mask);mask-image:var(--ftr-sweep-mask);animation:tt-ft-sweep 11s var(--tt-ft-ease) infinite;pointer-events:none;z-index:-1;}
@keyframes tt-ft-sweep{0%{background-position:130% 0;}45%,100%{background-position:-30% 0;}}
@keyframes tt-ft-streak{0%{background-position:-320px 0,0 0;}55%,100%{background-position:calc(100% + 320px) 0,0 0;}}
@keyframes tt-ft-sheen{0%,60%{background-position:120% 0;}100%{background-position:-20% 0;}}

/* resets use :where() so they never outrank the component rules below */
:where(.tt-footer) *{box-sizing:border-box;}
:where(.tt-footer) a{color:inherit;text-decoration:none;}
:where(.tt-footer) ul{list-style:none;margin:0;padding:0;}
:where(.tt-footer) p{margin:0;}
.tt-footer [hidden]{display:none!important;}
.tt-footer :focus-visible{outline:2px solid var(--tt-ft-gold-lt);outline-offset:3px;border-radius:var(--radius-xs);}

.tt-ft-wrap{max-width:var(--container-wide);margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));}

/* four balanced columns */
.tt-ft-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;align-items:stretch;padding-top:48px;padding-bottom:40px;}
.tt-ft-col{min-width:0;padding:0 32px;}
.tt-ft-col:first-child{padding-left:0;}
.tt-ft-col:last-child{padding-right:0;}
.tt-ft-col + .tt-ft-col{border-left:1px solid var(--tt-ft-line);}

/* brand column */
.tt-ft-brand{display:flex;flex-direction:column;}
.tt-ft-brand-link{display:flex;align-items:center;gap:14px;}
.tt-ft-logo-wrap{width:72px;height:72px;display:grid;place-items:center;flex:none;}
.tt-ft-logo{width:100%;height:100%;object-fit:contain;filter:var(--hero-logo-shadow);}
.tt-ft-brand-name{font-family:var(--font-wordmark);font-size:20px;font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;line-height:1.2;color:var(--tt-ft-text);}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
    .tt-ft-brand-name{background:var(--hdr-wordmark-sheen);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:tt-ft-sheen 7s var(--tt-ft-ease) infinite;}
}
.tt-ft-tag{margin-top:12px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;line-height:1.6;color:var(--tt-ft-gold-lt);}
.tt-ft-desc{margin:12px 0 18px;max-width:42ch;font-size:14px;line-height:1.7;color:var(--tt-ft-dim);}

.tt-ft-contact{display:flex;flex-direction:column;gap:9px;font-size:13px;}
.tt-ft-contact li{display:flex;align-items:flex-start;gap:11px;color:var(--tt-ft-dim);min-width:0;}
.tt-ft-contact li i{width:14px;margin-top:4px;font-size:12px;color:var(--tt-ft-gold);flex:none;}
.tt-ft-contact a{overflow-wrap:anywhere;transition:color .2s;}
.tt-ft-contact a:hover{color:var(--tt-ft-gold-lt);}
.tt-ft-contact small{display:block;margin-top:2px;font-size:12px;color:var(--tt-ft-mute);}

.tt-ft-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:22px;}
.tt-ft-btn-gold{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-full);font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:transform .3s var(--tt-ft-ease),box-shadow .3s,border-color .3s,color .3s,background .3s;}
.tt-ft-btn-gold{font-weight:var(--font-weight-medium);color:var(--hdr-night)!important;background:var(--hdr-gold-btn);box-shadow:var(--hdr-gold-btn-shadow);}
.tt-ft-btn-gold::before{content:'';position:absolute;inset:0;background:var(--hdr-sheen);transform:translateX(-120%);transition:transform .8s var(--tt-ft-ease);}
.tt-ft-btn-gold:hover{transform:translateY(-2px);box-shadow:var(--hdr-gold-btn-shadow-up);}
.tt-ft-btn-gold:hover::before{transform:translateX(120%);}
.tt-ft-btn-gold i,.tt-ft-btn-gold span{position:relative;}

.tt-ft-social{display:flex;gap:8px;margin-top:16px;}
.tt-ft-social a{width:36px;height:36px;border:1px solid var(--tt-ft-line);border-radius:50%;display:grid;place-items:center;font-size:13px;color:var(--tt-ft-dim);transition:var(--transition-fast);}
.tt-ft-social a:hover{border-color:var(--tt-ft-gold-line);color:var(--tt-ft-gold-lt);}

/* link columns */
.tt-ft-h{position:relative;margin:0 0 12px;padding-bottom:10px;font-family:var(--font-display);font-size:22px;font-weight:var(--font-weight-medium);line-height:1.2;color:var(--tt-ft-text);}
.tt-ft-h::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hdr-hair-fade);}
.tt-ft-links{display:flex;flex-direction:column;}
.tt-ft-links a{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:13.5px;line-height:1.45;color:var(--tt-ft-dim);transition:color .2s,padding .25s var(--tt-ft-ease);}
.tt-ft-links a::before{content:'';width:4px;height:4px;transform:rotate(45deg);background:var(--color-white-25);transition:background .2s;flex:none;}
.tt-ft-links a:hover,.tt-ft-links a.is-active{color:var(--tt-ft-gold-lt);padding-left:4px;}
.tt-ft-links a:hover::before,.tt-ft-links a.is-active::before{background:var(--tt-ft-gold);}
.tt-ft-sub{display:block;margin:16px 0 6px;font-size:10.5px;font-weight:var(--font-weight-medium);letter-spacing:.24em;text-transform:uppercase;color:var(--tt-ft-gold-lt);}
.tt-ft-sub--first{margin-top:0;}

/* bottom bar: hairline with the running silver streak */
.tt-ft-bottom{position:relative;}
.tt-ft-bottom::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--hdr-silver-streak) -320px 0 / 320px 100% no-repeat,var(--hdr-silver-line);filter:var(--hdr-silver-glow);animation:tt-ft-streak 7s var(--tt-ft-ease) infinite;}
.tt-ft-bottom-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding-top:18px;padding-bottom:18px;padding-right:110px;font-family:var(--font-display);font-size:15px;font-weight:var(--font-weight-light);letter-spacing:.06em;color:var(--tt-ft-mute);}
.tt-ft-copy{font-family:var(--font-display);font-size:15px;font-weight:var(--font-weight-light);letter-spacing:.06em;color:var(--tt-ft-mute);}
.tt-ft-credit{font-weight:var(--font-weight-light);transition:color .25s;}
.tt-ft-credit b{margin-left:4px;font-weight:var(--font-weight-light);letter-spacing:.32em;text-transform:uppercase;color:var(--tt-ft-gold-lt);transition:color .25s;}
.tt-ft-credit:hover b{color:var(--tt-ft-gold);}

/* responsive */
@media (max-width:1024px){
    .tt-ft-grid{grid-template-columns:1fr 1fr;row-gap:36px;}
    .tt-ft-col:nth-child(2){padding-right:0;}
    .tt-ft-col:nth-child(3){padding-left:0;border-left:0;}
}
@media (max-width:640px){
    .tt-ft-wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));}
    .tt-ft-grid{grid-template-columns:1fr;row-gap:30px;padding-top:40px;padding-bottom:30px;}
    .tt-ft-col,.tt-ft-col + .tt-ft-col{padding:0;border-left:0;}
    .tt-ft-bottom-in{padding-right:16px;padding-bottom:96px;}
}
@media (prefers-reduced-motion:reduce){
    .tt-footer *{transition:none!important;}
    .tt-footer::before,.tt-ft-grid::before,.tt-ft-bottom::before,.tt-ft-brand-name{animation:none!important;}
    .tt-footer::after{display:none;}
}
