/* Tirumala Gallery – uses the theme's colours and fonts when available. */
.tmag{--tmag-navy:var(--navy,#0B2A5B);--tmag-deep:var(--navy-deep,#061B3A);--tmag-gold:var(--gold,#E3A72B);--tmag-gold-soft:var(--gold-soft,#F6D776);--tmag-mist:var(--mist,#F3F7FB);--tmag-ink:var(--ink,#1B2535);--tmag-muted:var(--muted,#586577);--tmag-line:var(--line,#DCE5EE);--tmag-serif:var(--serif,"Libre Baskerville",Georgia,serif);--tmag-sans:var(--sans,"Source Sans 3",system-ui,sans-serif);--tmag-shadow:var(--shadow,0 16px 44px rgba(11,42,91,.12));
  font-family:var(--tmag-sans);color:var(--tmag-ink);line-height:1.6;width:100%}
.tmag *{box-sizing:border-box}
.tmag button{font:inherit;color:inherit;text-align:left;cursor:pointer;background:none;border:0;padding:0;margin:0;text-transform:none;letter-spacing:normal;box-shadow:none}
.tmag-empty{padding:24px;border:1px dashed var(--tmag-line);color:var(--tmag-muted);background:#fff}

/* Filters */
.tmag-filters{display:grid;gap:12px;margin:0 0 44px;padding:18px 20px;background:#fff;border:1px solid var(--tmag-line);border-top:3px solid var(--tmag-gold);box-shadow:0 10px 28px rgba(6,27,58,.06)}
.tmag-chips{display:flex;flex-wrap:wrap;gap:8px}
.tmag .tmag-chips button{padding:8px 14px;border-radius:999px;background:var(--tmag-mist);border:1px solid var(--tmag-line);color:var(--tmag-navy);font-weight:700;font-size:14px;line-height:1.2;transition:background .2s,color .2s,border-color .2s}
.tmag .tmag-chips button:hover,.tmag .tmag-chips button:focus-visible{border-color:var(--tmag-navy)}
.tmag .tmag-chips button.is-active{background:var(--tmag-navy);border-color:var(--tmag-navy);color:#fff}
.tmag .tmag-chips--years button.is-active{background:var(--tmag-gold);border-color:var(--tmag-gold);color:var(--tmag-deep)}

/* Year sections */
.tmag-year{margin:0 0 56px}
.tmag-year:last-of-type{margin-bottom:0}
.tmag-year-head{margin:0 0 26px}
.tmag-year-title{margin:0;font-family:var(--tmag-serif);font-weight:700;font-size:clamp(24px,2.6vw,32px);line-height:1.25;color:var(--tmag-navy)}
.tmag-year-title::after{content:"";display:block;width:60px;height:3px;background:var(--tmag-gold);margin-top:13px}
.tmag-none{padding:24px;text-align:center;color:var(--tmag-muted);border:1px dashed var(--tmag-line)}

/* Album cards */
.tmag-grid{display:grid;grid-template-columns:repeat(var(--tmag-cols,3),minmax(0,1fr));gap:26px}
.tmag .tmag-album{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tmag-line);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;width:100%}
.tmag .tmag-album:hover,.tmag .tmag-album:focus-visible{transform:translateY(-4px);box-shadow:var(--tmag-shadow);outline:none}
.tmag .tmag-album:focus-visible{outline:3px solid var(--tmag-gold);outline-offset:2px}
.tmag-cover{position:relative;display:block;aspect-ratio:4/3;background:var(--tmag-mist);overflow:hidden;border-bottom:3px solid var(--tmag-gold)}
.tmag-cover img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;transition:transform .6s ease;border:0;border-radius:0}
.tmag-album:hover .tmag-cover img{transform:scale(1.05)}
.tmag-badge{position:absolute;right:12px;bottom:12px;padding:5px 11px;border-radius:999px;background:rgba(6,27,58,.82);color:#fff;font-size:12.5px;font-weight:700;line-height:1.2}
.tmag-info{display:flex;flex-direction:column;gap:4px;padding:16px 18px 20px}
.tmag-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson,#A61E2B)}
.tmag-title{font-family:var(--tmag-serif);font-weight:700;font-size:18px;line-height:1.35;color:var(--tmag-navy)}
.tmag-meta{font-size:14px;font-weight:600;color:var(--tmag-muted)}

/* One album: photo grid */
.tmag-photos{display:grid;grid-template-columns:repeat(var(--tmag-cols,4),minmax(0,1fr));gap:14px}
.tmag a.tmag-album{text-decoration:none;color:inherit}
.tmag .tmag-photo{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;background:#fff;border:1px solid var(--tmag-line);transition:transform .3s ease,box-shadow .3s ease}
.tmag .tmag-photo:hover,.tmag .tmag-photo:focus-visible{transform:translateY(-3px);box-shadow:var(--tmag-shadow)}
.tmag .tmag-photo:focus-visible{outline:3px solid var(--tmag-gold);outline-offset:2px}
.tmag-photo-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tmag-mist);border-bottom:3px solid var(--tmag-gold)}
.tmag-photo-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.tmag-photo:hover .tmag-photo-img img{transform:scale(1.05)}
.tmag-photo-cap{display:block;padding:11px 13px 13px;color:var(--tmag-navy,#0B2A5B);font-size:14.5px;font-weight:600;line-height:1.4;text-align:left}
.tmag-back{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:15px;color:var(--tmag-navy,#0B2A5B);text-decoration:none;margin-bottom:18px}
.tmag-back:hover{color:var(--tmag-red,#B3122E)}
.tmag-back-wrap{margin:30px 0 0}
.tmag-album-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid var(--tmag-line)}
.tmag-album-head .tmag-eyebrow{flex-basis:100%}
.tmag-album-title{margin:0;font-family:var(--serif,"Libre Baskerville",Georgia,serif);font-size:clamp(24px,3vw,32px);line-height:1.25;color:var(--tmag-navy,#0B2A5B)}
.tmag-count{font-size:14px;color:#5b6b82;font-weight:600}

/* Lightbox */
.tmag-lb{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;background:rgba(4,14,32,.96);color:#fff;font-family:var(--sans,"Source Sans 3",system-ui,sans-serif)}
.tmag-lb[hidden]{display:none}
.tmag-lb-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 20px}
.tmag-lb-name{font-family:var(--serif,"Libre Baskerville",Georgia,serif);font-weight:700;font-size:19px;line-height:1.3}
.tmag-lb-sub{font-size:13.5px;color:rgba(255,255,255,.7)}
.tmag-lb button{all:unset;cursor:pointer;box-sizing:border-box}
.tmag-lb .tmag-lb-close{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:26px;line-height:1;background:rgba(255,255,255,.12)}
.tmag-lb-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 64px}
.tmag-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;user-select:none}
.tmag-lb .tmag-lb-prev,.tmag-lb .tmag-lb-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:grid!important;place-items:center;font-size:28px;line-height:1;background:rgba(255,255,255,.14)}
.tmag-lb .tmag-lb-prev{left:10px}.tmag-lb .tmag-lb-next{right:10px}
.tmag-lb button:hover,.tmag-lb button:focus-visible{background:var(--gold,#E3A72B);color:#061B3A}
.tmag-lb-cap{min-height:44px;padding:10px 20px 4px;text-align:center;font-size:15px;line-height:1.4}
.tmag-lb-cap small{display:block;color:rgba(255,255,255,.6);font-size:12.5px}
.tmag-lb-thumbs{display:flex;gap:6px;overflow-x:auto;padding:8px 20px 16px;scrollbar-width:thin}
.tmag-lb .tmag-lb-thumbs button{flex:none;width:64px;height:48px;opacity:.5;border:2px solid transparent;border-radius:3px;overflow:hidden}
.tmag-lb-thumbs button.is-active{opacity:1;border-color:var(--gold,#E3A72B)}
.tmag-lb-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
body.tmag-open{overflow:hidden}

@media (max-width:1024px){.tmag-grid{grid-template-columns:repeat(min(var(--tmag-cols,3),3),minmax(0,1fr))}.tmag-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.tmag-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tmag-info{padding:12px 13px 15px}.tmag-title{font-size:15.5px}.tmag-meta{font-size:13px}.tmag-filters{padding:14px}.tmag .tmag-chips button{font-size:13px;padding:7px 12px}.tmag-lb-stage{padding:0 8px}.tmag-lb .tmag-lb-prev,.tmag-lb .tmag-lb-next{width:40px;height:40px;font-size:22px}.tmag-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media (max-width:420px){.tmag-grid{grid-template-columns:1fr}}
