/* Shared TamilDay typography and responsive component polish. */
:root{--td-coral:#ff5059;--td-ink:#222;--td-muted:#65656b;--td-line:#e8e8eb;--td-tint:#fff5f4;--td-radius:15px}html{scroll-padding-top:110px}body{font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit;font-size:15px}button,a,input,select,textarea{touch-action:manipulation}a,button{transition:color .18s,background .18s,box-shadow .18s,transform .18s}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ff505970;outline-offset:4px}button:disabled{cursor:not-allowed}.site-header{background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #f1f1f2}.site-header .logo{font-size:32px;letter-spacing:-1.2px}.site-header .brand-symbol{width:36px;height:40px}.site-header .navitem{font-size:15px;gap:5px}.headright{gap:13px}.headright .addlink{padding:10px 14px;border-radius:24px}.headright .addlink:hover{background:#f7f7f8}.headright .iconbutton{width:40px;height:40px}.headright .menu{background:#f7f7f8;border-color:#f1f1f2}.headright>a{background:white}.searchwrap{padding-top:18px;padding-bottom:25px}.search{height:76px;max-width:860px;padding:8px;box-shadow:0 4px 18px #0000000a;border-color:#e5e5e7}.search label{height:44px;padding:0 24px;gap:12px}.search label span{font-size:15px;margin-bottom:2px}.search input,.search select{font-size:15px;color:var(--td-muted)}.searchbutton{width:55px;height:55px;box-shadow:0 3px 8px #ff505929}.searchbutton:hover{background:#e84450;transform:scale(1.03)}.divider{border-color:#eee}.discovery-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:29px 0 6px}.intro-kicker{font-size:15px;font-weight:650;letter-spacing:1.3px;color:#a64d56;margin:0 0 10px;line-height:1.4}.discovery-intro h1{font-size:34px;letter-spacing:-1.2px;line-height:1.18;margin:0 0 10px;font-weight:720}.discovery-intro p:last-child{font-size:15px;color:var(--td-muted);margin:0;line-height:1.6}.intro-link{font-size:15px;font-weight:600;white-space:nowrap;border-bottom:1px solid #bdbdc2;padding:10px 0;align-self:flex-end}.intro-link span{margin-left:10px}.collection{margin-top:32px;margin-bottom:42px}.sectionhead{margin-bottom:17px;align-items:center}.sectionhead h2{font-size:24px;letter-spacing:-.65px;line-height:1.25}.rowtitle{font-size:inherit;line-height:inherit}.grid{gap:18px}.cover{border-radius:15px;aspect-ratio:1}.cardbody{font-size:15px;line-height:1.4;padding:11px 1px 0}.card h3{font-size:15px;line-height:1.45;letter-spacing:-.15px;font-weight:650;margin-bottom:4px}.card .location,.card .eventdate{font-size:15px;line-height:1.45;color:var(--td-muted);margin:3px 0}.card .price{font-size:15px;margin-top:5px}.popular{font-size:15px;padding:5px 10px;top:10px;left:10px;font-weight:600}.heart{width:36px;height:36px;top:6px;right:6px;display:grid;place-items:center}.heart svg{width:25px;height:25px}.arrow{height:34px;width:34px;display:grid;place-items:center;background:#f7f7f8;border:0}.arrow:hover{background:#ededee}.notice{font-size:15px;line-height:1.7;color:#777;margin:30px 0 5px}.community-guide{margin-top:58px;padding:38px 0 0;border-top:1px solid var(--td-line)}.guide-top{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end}.guide-top h2,.faq h2{font-size:29px;line-height:1.25;letter-spacing:-.8px}.guide-top>p{font-size:15px;line-height:1.8;margin:0;color:var(--td-muted);max-width:390px}.guide-copy{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:24px 0 28px}.guide-copy p{font-size:15px;line-height:1.9;color:var(--td-muted);margin:0}.guide-copy a{text-decoration:underline;text-underline-offset:3px;color:#333}.discovery-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.discovery-tiles>button{display:flex;gap:15px;align-items:flex-start;text-align:left;border:1px solid var(--td-line);border-radius:15px;padding:22px;background:white}.discovery-tiles>button:hover{background:#fff8f7;border-color:#f4d3d5;transform:translateY(-2px)}.tile-icon{display:grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:12px;background:#fff0ef;color:#e74653;font-size:23px}.discovery-tiles strong{display:block;font-size:15px;line-height:1.5;color:#222;margin-bottom:7px}.discovery-tiles span span{display:block;font-size:15px;color:var(--td-muted);line-height:1.7}.discovery-tiles b{margin-left:auto;font-weight:normal}.organiser-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--td-tint);border-radius:16px;padding:26px 30px;margin-top:24px}.organiser-strip h3{font-size:21px;letter-spacing:-.3px;line-height:1.4;margin:0 0 5px}.organiser-strip p{font-size:15px;color:#755d61;margin:0}.primary-coral,.pill,.primary{font-size:15px;min-height:46px;border-radius:10px;background:var(--td-coral);color:white;font-weight:600;padding:13px 20px}.primary-coral{white-space:nowrap}.primary-coral span{margin-left:16px}.primary-coral:hover,.primary:hover{background:#e84450}.faq{display:grid;grid-template-columns:1fr 1.55fr;gap:70px;padding:46px 0 14px;margin-top:10px}.faq>div>p:not(.intro-kicker){color:var(--td-muted);font-size:15px;line-height:1.7}.faq details{border-bottom:1px solid var(--td-line);padding:0 0 20px;margin-bottom:20px}.faq summary{font-size:15px;font-weight:600;cursor:pointer;line-height:1.7;list-style:none;position:relative;padding-right:35px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;top:0;font-size:23px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:15px;color:var(--td-muted);line-height:1.8;margin:14px 30px 0 0}footer{background:#f7f7f8;border-top:1px solid #eee;padding-top:33px}footer h2{font-size:21px}footer h4{font-size:15px}footer .citylinks{font-size:15px;row-gap:14px;line-height:1.7;justify-content:flex-start;column-gap:25px}footer .citylinks button,footer .footgrid a,footer .legal,footer .legal button{font-size:15px;line-height:1.8}.footgrid{padding-top:30px;padding-bottom:26px}.footgrid a{margin-bottom:8px}.legal{gap:30px;align-items:flex-start}.socials{padding-top:3px;flex-wrap:wrap}.modal{border-radius:20px;box-shadow:0 25px 80px #0003}.modal::backdrop{background:#1a1a1a65;backdrop-filter:blur(4px)}.modal label{font-size:15px;font-weight:600;line-height:1.6}.modal input,.modal select,.modal textarea{font-size:15px;border-color:#d8d8dc;border-radius:9px;min-height:46px;line-height:1.4}.modal textarea{min-height:110px}.modal p{font-size:15px;line-height:1.75;color:var(--td-muted)}.location-help,.location-credit{font-size:15px!important;line-height:1.7!important}.town-option{font-size:15px;padding:13px 14px}.town-option small{font-size:15px;line-height:1.5}.previewbadge,.booking .note,.samplelabel,.crumb,.eyebrow,.hint,.notice,.sessioninfo,.message{font-size:15px;line-height:1.7}.cardbody .tag{font-size:15px}.shell h1{letter-spacing:-1px}.booking{border-radius:18px;padding:26px;border-color:#e4e4e7;box-shadow:0 7px 25px #00000008}.booking .info strong,.booking .info span{font-size:15px;line-height:1.6}.booking .info strong{letter-spacing:.5px}.booking .price{font-size:26px}.booking .price small{font-size:15px}.eventintro p,.eventintro .fact p,.relcard p,.relcard strong,.relcard h3,.locationpanel p{font-size:15px;line-height:1.7}.actions button,.quickfacts,.sub{font-size:15px}.panel{border-radius:18px;border-color:#e4e4e7;padding:30px;box-shadow:0 8px 30px #00000006}.panel p,.panel label,.panel .hint,.panel .notice,.panel .switch,.panel input,.back{font-size:15px;line-height:1.7}.panel input{line-height:1.4;min-height:48px}.show{font-size:15px}.authlayout{gap:60px}.welcome h1{font-size:39px;line-height:1.15}.welcomephoto{border-radius:18px}.savedcard h3,.savedcard p,.savedcard button{font-size:15px;line-height:1.6}.topbtn,.nav,.actions,.underlined{font-size:15px}.toast{font-size:15px;line-height:1.6;max-width:calc(100vw - 30px);text-align:center}
@media(min-width:1500px){.grid{gap:22px}.cover{border-radius:16px}}@media(max-width:1150px) and (min-width:761px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid .card:nth-child(n+5){margin-top:8px}.headright .globe{display:none}.site-header .logo{font-size:29px}.site-header nav[aria-label="Main navigation"]{gap:25px}.headright .addlink{padding-left:0;padding-right:0}.headright{gap:8px}.headright>a{font-size:15px;padding:8px!important}.guide-top{gap:35px}.discovery-tiles>button{padding:18px;gap:10px}.tile-icon{width:31px;height:34px}.footgrid{grid-template-columns:1fr 1fr 1fr}.socials{grid-column:1/-1}}
@media(max-width:760px){html{scroll-padding-top:145px}.site-header{padding:14px 20px;height:auto;min-height:74px;gap:12px;flex-wrap:wrap}.site-header .logo{font-size:28px}.site-header .brand-symbol{width:30px;height:34px}.site-header:has(nav[aria-label="Main navigation"]){display:grid;grid-template-columns:1fr auto;row-gap:15px}.site-header nav[aria-label="Main navigation"]{position:static;transform:none;grid-column:1/-1;grid-row:2;justify-content:center;gap:42px;margin:0;width:100%;height:auto;padding-bottom:0}.site-header .navitem{font-size:15px;padding:0 0 8px;gap:6px}.headright{margin:0;justify-self:end}.headright .addlink{display:none}.headright>a[aria-label]{display:block!important;font-size:15px!important;padding:8px 12px!important}.headright .iconbutton{width:38px;height:38px}.headright .globe{display:none}.searchwrap{padding:16px 20px 19px}.search{height:74px;max-width:100%;border-radius:20px}.search label{padding:0 12px;gap:7px}.search label span,.search input,.search select{font-size:15px}.searchbutton{width:45px;height:45px}.search label:first-child{flex:1.1}.search label:nth-child(2){flex:.9}.search label:nth-child(3){flex:.9}.search label svg{display:none}.discovery-intro{padding:24px 0 3px;display:block}.discovery-intro h1{font-size:29px}.intro-kicker{font-size:15px;letter-spacing:1px}.intro-link{display:none}.discovery-intro p:last-child{line-height:1.8}.collection{margin-top:26px;margin-bottom:29px}.sectionhead{margin-bottom:15px}.sectionhead h2{font-size:23px;line-height:1.3}.grid{display:flex;gap:16px;scrollbar-width:none;padding-bottom:10px}.card{flex:0 0 38%}.card h3,.card .location,.card .eventdate,.card .price{font-size:15px}.cover{border-radius:14px}.popular{font-size:15px;padding:4px 9px}.community-guide{margin-top:35px;padding-top:30px}.guide-top,.guide-copy,.faq{grid-template-columns:1fr;gap:20px}.guide-top h2,.faq h2{font-size:26px}.guide-top>p{max-width:none}.guide-copy{margin-top:23px;gap:20px}.discovery-tiles{grid-template-columns:1fr}.discovery-tiles>button{padding:20px}.organiser-strip{display:block;padding:25px}.organiser-strip .primary-coral{margin-top:20px}.faq{padding-top:30px;gap:15px}.legal{display:block}.legal>span{display:block;margin-bottom:12px}.legal button{padding:0 14px 0 0!important}.footgrid{grid-template-columns:1fr 1fr;gap:25px}.socials{align-self:end}.site-header .nav{gap:14px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.site-header .nav .topbtn{display:none}.crumb{font-size:15px;flex-wrap:wrap;line-height:1.7}.gallery{height:310px}.panel{padding:25px}.authlayout{margin-top:25px}.modal{padding:24px}.modal h2{font-size:26px}.modal .close{font-size:26px}.modal .eyebrow{font-size:15px;letter-spacing:1px}.modal p{font-size:15px}.town-option{flex-direction:column;align-items:flex-start;gap:3px}.town-option small{text-align:left}.mobilebar button{font-size:15px}}
@media(max-width:480px){.site-header{padding-left:18px;padding-right:18px}.site-header .logo{font-size:26px}.site-header .brand-symbol{width:28px;height:32px}.site-header nav[aria-label="Main navigation"]{gap:35px}.headright{gap:8px}.headright>a[aria-label]{padding:7px 10px!important}.searchwrap{padding-left:18px;padding-right:18px}.search{height:auto;min-height:78px;padding:8px;border-radius:18px;display:grid;grid-template-columns:1fr 1fr 44px;row-gap:10px}.search label{padding:0 9px;height:43px}.search label:first-child{grid-column:1/-1;border:0;padding-bottom:5px;border-bottom:1px solid #eee;height:48px;display:block}.search label:nth-child(2){border-right:1px solid #ddd}.search label:nth-child(3){border:0}.searchbutton{width:42px;height:42px;grid-column:3;grid-row:2}.search input,.search select{width:100%;font-size:15px}.discovery-intro h1{font-size:28px}.card{flex-basis:70%}.grid{gap:15px}.collection{margin-top:26px;margin-bottom:24px}.sectionhead h2{font-size:22px}.heart{right:8px;top:8px}.community-guide{margin-top:29px}.guide-copy p{line-height:1.85}.organiser-strip h3{font-size:21px}.faq{gap:14px}footer{padding-left:20px;padding-right:20px}.footgrid{grid-template-columns:1fr 1fr;gap:25px 20px}.socials{grid-column:1/-1}.notice{font-size:15px}.site-header .nav a:first-child{display:none}.site-header .nav{gap:10px}.site-header .nav>a[aria-label]{padding:8px 10px!important}.gallery{height:270px}.quickfacts{gap:10px}.relcard{flex-basis:76%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button,.eventphoto{transition:none!important}.card:hover .eventphoto{transform:none}}

.footer-brand{display:flex;align-items:center;gap:13px;color:#ff5059;font-size:15px;line-height:1.5}.footer-brand img{width:40px;height:46px;object-fit:contain}.footer-brand strong{font-weight:650}@media(max-width:1150px) and (min-width:761px){.footer-brand{grid-column:1/-1}}@media(max-width:480px){.footer-brand{grid-column:1/-1}}
@media(min-width:701px){.booking{top:105px}}
small{font-size:15px}
.category-discovery{margin:24px 0 5px;padding:20px 0 18px;border-top:1px solid #f0f0f2;border-bottom:1px solid #f0f0f2}.category-discovery-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px;font-size:15px;font-weight:600}.category-discovery-head>span{color:#62626a}.category-discovery-head button{text-decoration:underline;text-underline-offset:4px;font-size:15px;white-space:nowrap}.category-discovery-head button span{margin-left:9px}.category-chips{display:flex;gap:10px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin;scrollbar-color:#ddd transparent}.category-chip{display:flex;align-items:center;gap:9px;border:1px solid #e6e6e8;border-radius:30px;white-space:nowrap;padding:10px 16px;font-size:15px;line-height:1.5;background:white;flex-shrink:0}.category-chip-icon{font-size:19px;line-height:1}.category-chip:hover{background:#fff5f4;border-color:#f4cbce}.category-chip[aria-pressed=true]{background:#ff5059;border-color:#ff5059;color:white}.subcategory-filter{display:flex;align-items:center;gap:18px;margin:15px 0 0}.subcategory-filter[hidden]{display:none}.subcategory-filter label{font-size:15px;color:#62626a;white-space:nowrap}.subcategory-filter select{font-size:15px;min-height:44px;padding:10px 34px 10px 14px;border:1px solid #dedee2;border-radius:10px;background:white;max-width:100%;color:#333}.empty{grid-column:1/-1;border:1px dashed #ddd;border-radius:15px;text-align:center;padding:35px 20px;font-size:15px}.empty p{font-size:15px;line-height:1.7;color:#777}.category-modal{max-width:960px!important;width:calc(100% - 35px);max-height:88vh!important}.category-modal>p{max-width:720px}.category-modal #category-search{position:sticky;top:0;z-index:2;background:white}.category-directory{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.category-directory-card{border:1px solid #e8e8eb;border-radius:13px;padding:21px}.category-directory-card h3{font-size:18px;line-height:1.5;margin:0 0 14px;display:flex;align-items:center;gap:10px}.category-directory-card h3>span{color:#ff5059;font-size:22px}.category-directory-card h3 a{font-size:18px;font-weight:650}.category-directory-subs{display:flex;flex-direction:column;gap:8px}.category-directory-subs a{display:block;font-size:15px;line-height:1.6;color:#666;padding:2px 0}.category-directory-subs a:hover{color:#e84450;text-decoration:underline;text-underline-offset:3px}.category-directory>p{grid-column:1/-1;font-size:15px}.category-directory-card h3 a:hover{color:#e84450}@media(max-width:760px){.category-discovery{margin-top:22px;padding-top:18px}.category-chip{padding:10px 14px}.category-directory{gap:14px}.category-directory-card{padding:18px}.category-modal{padding:23px}.subcategory-filter{align-items:flex-start;flex-direction:column;gap:8px}.subcategory-filter select{width:100%}}@media(max-width:550px){.category-directory{grid-template-columns:1fr}.category-modal{width:calc(100% - 24px);padding:21px}.category-discovery-head{gap:10px}}

/* Tablet and phone layout refinements */
@media (max-width: 980px) {
  .discovery-intro { align-items: flex-start; gap: 16px; }
  .collection { min-width: 0; }
  .grid, .category-chips { -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
  .grid > .card, .category-chip { scroll-snap-align: start; }
  .layout { gap: 28px; }
  .booking { min-width: 0; }
  .shell { padding-left: 24px; padding-right: 24px; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 150px; }
  .discovery-intro { flex-direction: column; padding-top: 22px; }
  .discovery-intro h1 { font-size: 26px; line-height: 1.2; }
  .intro-link { align-self: flex-start; }
  .searchwrap { padding: 14px 16px 18px; }
  .search { max-width: none; }
  .search label { min-width: 0; }
  .search input, .search select { min-width: 0; text-overflow: ellipsis; }
  .sectionhead { gap: 12px; }
  .sectionhead h2 { font-size: 21px; }
  .shell { padding-left: 18px; padding-right: 18px; }
  .titleline { align-items: flex-start; flex-direction: column; gap: 5px; }
  .titleline h1 { font-size: 27px; overflow-wrap: anywhere; }
  .actions { flex-wrap: wrap; gap: 18px; }
  .layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .booking { position: static; width: 100%; }
  .org-panel, .profile-hero, .community-toolbar { overflow-wrap: anywhere; }
  .org-grid > *, .org-detail-grid > *, .community-row > * { min-width: 0; }
  .table-scroll { max-width: 100%; -webkit-overflow-scrolling: touch; }
  dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; }
}
@media (max-width: 360px) {
  .header-clean .header-inner { padding-left: 12px; padding-right: 12px; column-gap: 6px; }
  .header-clean .logo { font-size: 22px; }
  .header-clean .header-nav, .header-clean nav.header-nav[aria-label="Main navigation"] { gap: 16px; }
  .header-clean .header-cta { padding: 8px; }
  .header-account { width: 60px; }
}
