/* ============================================================
   TCV Travels Sri Lanka — template-footer.css v7.3
   Prefix: tt- | Compact height, premium sapphire/gold/emerald theme

   Height reductions vs v7.2: tighter main/row/bottom-bar padding,
   slimmer bottom bar.

   Column-fill fix: every column in a row is a flex column, and each
   ends with a "pinned" trailing element (margin-top:auto) — a "View
   All" link, socials row, or CTA. Since CSS Grid stretches all cells
   in a row to the same height by default, that pinned element lands
   at the same y-position across every column in the row, so shorter
   lists no longer leave a visible gap under themselves — the column
   reads as evenly filled without inventing filler content.
   ============================================================ */

.tt-footer{position:relative;background:var(--color-navy-abyss);color:var(--color-white-70);font-family:var(--font-primary);overflow:hidden;border-top:1px solid var(--border-gold);}
.tt-footer-glow{position:absolute;inset:0;pointer-events:none;background:
    radial-gradient(ellipse 60% 45% at 8% 0%, rgba(var(--color-gold-rgb),.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 95% 100%, rgba(var(--color-green-rgb),.06) 0%, transparent 60%);
}

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

.tt-footer-row{display:grid;gap:24px;}
.tt-footer-row-1{grid-template-columns:1.3fr 1fr 1fr 1fr;}
.tt-footer-row-2{grid-template-columns:1.15fr 1.15fr .9fr;margin-top:22px;padding-top:20px;border-top:1px solid var(--border-navy);}

/* Every column is a flex column so a trailing element can be pinned
   to the bottom with margin-top:auto (grid already stretches the
   column to the row's tallest cell). */
.tt-footer-col{display:flex;flex-direction:column;}

.tt-footer-col-title{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-white);margin:0 0 11px;}
.tt-footer-col-title span{font-size:14px;}
.tt-footer-count{font-style:normal;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-navy-deep);background:var(--color-gold-light);padding:1px 7px;border-radius:var(--radius-full);margin-left:auto;}
.tt-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.tt-footer-links a{font-size:12.5px;color:var(--color-white-60);line-height:1.35;transition:color .18s ease,padding-left .18s ease;}
.tt-footer-links a:hover{color:var(--color-gold-light);padding-left:3px;}
.tt-footer-gold{color:var(--color-gold-light)!important;font-weight:var(--font-weight-medium);}
.tt-footer-green{color:var(--color-green-light)!important;}

/* Pinned "View All" link — sits at the bottom of its column, level
   with the pinned elements in the other columns of the same row. */
.tt-footer-viewall{margin-top:auto;padding-top:10px;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);}

/* Row 2 lists run in two short columns instead of one long one, so
   Company (10 links) and Destinations+Plan (7 links) stay roughly
   the same height as the Info column next to them. */
.tt-footer-links--cols{display:block;column-count:2;column-gap:18px;}
.tt-footer-links--cols li{break-inside:avoid;margin-bottom:6px;}
.tt-footer-links--cols a{display:block;}

/* ── Highlighted "We Own Our Hotel" callout card — compact, own column ── */
.tt-footer-hotel-col{display:flex;}
.tt-footer-hotel-card{
    position:relative;width:100%;padding:13px 14px 12px;
    border-radius:var(--radius-lg);
    background:linear-gradient(160deg,rgba(var(--color-gold-rgb),.10),rgba(var(--color-gold-rgb),.02) 70%);
    border:1px solid var(--border-gold);
    overflow:hidden;
    display:flex;flex-direction:column;
}
.tt-footer-hotel-card::before{content:'';position:absolute;top:-30%;right:-20%;width:140px;height:140px;background:radial-gradient(circle,rgba(var(--color-gold-rgb),.22),transparent 70%);pointer-events:none;}
.tt-footer-hotel-badge{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-navy-deep);background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold));padding:4px 9px;border-radius:var(--radius-full);margin-bottom:7px;align-self:flex-start;}
.tt-footer-hotel-title{position:relative;display:block;font-family:var(--font-display);font-size:14.5px;color:var(--color-white);margin-bottom:3px;}
.tt-footer-hotel-title:hover{color:var(--color-gold-light);}
.tt-footer-hotel-sub{position:relative;font-size:10.5px;line-height:1.4;color:var(--color-white-55,rgba(255,255,255,.55));margin:0 0 8px;}
.tt-footer-hotel-links{position:relative;list-style:none;margin:0 0 9px;padding:6px 0 0;border-top:1px dashed var(--border-gold);display:flex;flex-direction:column;gap:4px;}
.tt-footer-hotel-links a{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--color-white-65,rgba(255,255,255,.65));transition:color .18s ease,padding-left .18s ease;}
.tt-footer-hotel-links a:hover{color:var(--color-gold-light);padding-left:3px;}
.tt-footer-hotel-links a i{font-size:7px;color:var(--color-gold);flex-shrink:0;}
.tt-footer-hotel-cta{position:relative;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold));color:var(--color-navy-deep);font-size:11px;font-weight:var(--font-weight-semibold);transition:transform .2s ease;}
.tt-footer-hotel-cta:hover{transform:translateY(-2px);}

/* Brand column — socials pinned to the bottom of the column */
.tt-footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:11px;}
.tt-footer-logo{width:44px;height:44px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--border-gold);}
.tt-footer-brand-name{display:block;font-family:var(--font-display);font-size:16.5px;color:var(--color-white);}
.tt-footer-brand-tag{display:block;font-size:10.5px;color:var(--color-gold-light);}
.tt-footer-desc{font-size:12px;line-height:1.55;color:var(--color-white-55,rgba(255,255,255,.55));margin:0 0 14px;}
.tt-footer-contacts{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.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:#25D366;}
.tt-footer-socials{margin-top:auto;display:flex;gap:8px;}
.tt-footer-social{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-white-05);color:var(--color-white-60);font-size:12px;transition:all .2s ease;}
.tt-footer-social:hover{background:var(--color-gold);color:var(--color-navy-deep);transform:translateY(-2px);}

/* Info column (row 2) */
.tt-footer-info-col{gap:10px;}
.tt-footer-trust-row{display:flex;flex-direction:column;gap:5px;}
.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.45;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;}
.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));}
.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:8px 10px;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; slim height ── */
.tt-footer-bottom{position:relative;border-top:1px solid var(--border-gold);background:var(--color-navy-abyss);}
.tt-footer-bottom-inner{max-width:var(--container-wide);margin:0 auto;padding:11px 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);}

/* Developer credit — a small self-contained badge rather than a bare
   inline text link, so it reads as an intentional design element. */
.tt-footer-credit{order:3;flex-shrink:0;display:flex;align-items:center;gap:7px;padding:5px 6px 5px 10px;border-radius:var(--radius-full);background:var(--color-white-05);border:1px solid var(--border-light);transition:border-color .18s ease,background .18s ease;}
.tt-footer-credit:hover{border-color:var(--border-gold);background:var(--color-gold-bg);}
.tt-footer-credit-label{font-size:11px;color:var(--color-white-45,rgba(255,255,255,.45));white-space:nowrap;}
.tt-footer-credit-brand{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--color-navy-deep);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold));padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.01em;}
.tt-footer-credit-brand i{font-size:10px;}

/* ============================================================ RESPONSIVE */
@media (max-width: 1024px){
    .tt-footer-row-1{grid-template-columns:1fr 1fr;gap:22px 20px;}
    .tt-footer-brand-col{grid-column:span 2;}
    .tt-footer-hotel-col{grid-column:span 2;}
    .tt-footer-hotel-card{max-width:460px;}
    .tt-footer-row-2{grid-template-columns:1fr 1fr;gap:22px 20px;}
    .tt-footer-info-col{grid-column:span 2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px;}
    .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:30px 20px 18px;}
    .tt-footer-row-1,.tt-footer-row-2{grid-template-columns:1fr;}
    .tt-footer-brand-col,.tt-footer-hotel-col,.tt-footer-info-col{grid-column:span 1;}
    .tt-footer-hotel-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:14px 20px;}
    .tt-footer-copyright{order:1;}
    .tt-footer-legal{order:2;}
    .tt-footer-credit{order:3;}
}
