/* Modern & Friendly — approved design-reference/modern-friendly.png.
   Shared rules are limited to .tv-header; page rules to #homepage. */
:root { --tv-navy:#071540; --tv-blue:#0065ff; --tv-yellow:#ffda16; --tv-muted:#52617e; --tv-border:#e4ecf6; --tv-radius:12px; }
.tv-header { min-height:68px; background:#fff!important; border-bottom:1px solid var(--tv-border); box-shadow:0 3px 16px rgba(7,21,64,.04); font-family:Arial,Helvetica,sans-serif; }
.tv-header .tv-brand { display:flex; align-items:center; gap:6px; margin:0; color:var(--tv-navy); font-size:26px; font-weight:800; letter-spacing:-1.2px; }
.tv-header .tv-brand-pin { color:var(--tv-yellow); flex-shrink:0; }
.tv-header .nav-link { color:var(--tv-navy)!important; font-size:14px; font-weight:600; padding:14px!important; }
.tv-header .nav-link:hover { color:var(--tv-blue)!important; }
.tv-header .navbar-toggler { border:1px solid var(--tv-border); border-radius:10px; min-height:44px; }
.tv-header .menu-dropdown { display:block; }
.tv-header .menu-dropdown-content { border:1px solid var(--tv-border); border-radius:12px; box-shadow:0 12px 30px rgba(7,21,64,.12); max-height:65vh; overflow-y:auto; min-width:260px; padding:8px; }
.tv-header .menu-dropdown-content a { color:var(--tv-navy); padding:10px 12px; border-radius:7px; white-space:normal; }
.tv-header .menu-dropdown-content a:hover { background:#edf5ff; }
.tv-header .tv-category-toggle { position:static; display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; background:#f0f6ff; color:var(--tv-navy); border:0; border-radius:8px; cursor:pointer; }
.tv-header a:focus-visible,.tv-header button:focus-visible,#homepage .tv-home a:focus-visible,#homepage .tv-home button:focus-visible { outline:3px solid var(--tv-blue); outline-offset:4px; }
#homepage { margin:0; padding-top:68px; color:var(--tv-navy); background:#fff; font-family:Arial,Helvetica,sans-serif; }
#homepage .tv-home { line-height:1.5; }
#homepage .tv-home h1,#homepage .tv-home h2,#homepage .tv-home h3 { font-weight:750; color:var(--tv-navy); }
#homepage .tv-hero { position:relative; padding:36px 0 44px; background:linear-gradient(90deg,rgba(7,21,40,.82),rgba(7,21,40,.12)),url("images/athens-hero.jpg") center 48%/cover; }
/* Full-width quadratic curve; its box stays below the search form. */
#homepage .tv-hero:after {
  content:"";
  position:absolute;
  bottom:-1px;
  left:0;
  width:100%;
  height:clamp(28px, 3.5vw, 48px);
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 64 Q720 0 1440 64 V65 H0 Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
#homepage .tv-eyebrow { display:inline-block; background:rgba(255,255,255,.2); color:#fff; border-radius:30px; padding:5px 13px; font-size:13px; font-weight:700; }
#homepage .tv-hero h1 { color:#fff; font-size:32px; line-height:1.13; letter-spacing:-.8px; margin:15px 0; max-width:620px; }
#homepage .tv-hero p { color:#fff; font-size:16px; margin-bottom:20px; }
#homepage .tv-hero-search.search-sec { background:#fff; padding:7px; margin:0; border-radius:12px; box-shadow:0 8px 30px rgba(7,21,64,.18); max-width:900px; }
#homepage .tv-hero-search .main-search-form { display:grid; grid-template-columns:1fr; gap:6px; }
#homepage .tv-search-field { display:flex; align-items:center; gap:10px; padding:0 12px; min-width:0; color:var(--tv-navy); border-bottom:1px solid var(--tv-border); }
#homepage .tv-search-field svg { flex-shrink:0; }
#homepage .tv-search-field input { min-width:0; border:0; border-radius:6px; margin:0; font-size:14px; height:48px!important; color:var(--tv-navy); }
#homepage .tv-search-field input::placeholder { color:var(--tv-muted); opacity:1; }
#homepage .tv-search-field input:focus { box-shadow:0 0 0 2px var(--tv-blue); }
#homepage .tv-hero-search .main-search-btn { background:var(--tv-yellow); border-color:var(--tv-yellow); color:var(--tv-navy); font-size:14px; font-weight:700; border-radius:8px; height:48px!important; width:100%; }
#homepage .tv-hero-search .main-search-btn:hover { background:#f5cb00; opacity:1; }
#homepage .tv-category-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 10px; padding:22px 0; }
#homepage .tv-shortcut { display:flex; flex-direction:column; align-items:center; text-align:center; gap:9px; color:var(--tv-navy); font-size:12px; font-weight:600; overflow-wrap:anywhere; }
#homepage .tv-icon-circle { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px solid var(--tv-border); border-radius:50%; color:var(--tv-blue); background:#f0f7ff; }
#homepage .tv-icon-school .tv-icon-circle,#homepage .tv-icon-school .tv-category-art { color:#fa9500; background:#fff8ec; }
#homepage .tv-icon-bag .tv-icon-circle,#homepage .tv-icon-bag .tv-category-art { color:#ef4393; background:#fff1f8; }
#homepage .tv-section { padding:18px 0; scroll-margin-top:86px; }
#homepage .tv-section-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:18px; }
#homepage .tv-section-heading h2 { font-size:21px; margin:0; letter-spacing:-.4px; }
#homepage .tv-section-heading a { color:var(--tv-blue); font-size:13px; flex-shrink:0; }
#homepage .tv-category-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:2px 0; }
#homepage .tv-category-card { border:1px solid var(--tv-border); border-radius:12px; overflow:hidden; color:var(--tv-navy); background:#fff; }
#homepage .tv-category-art { display:flex; align-items:center; justify-content:center; height:100px; background:#eef6ff; color:var(--tv-blue); }
#homepage .tv-category-art svg { width:44px; height:44px; }
#homepage .tv-category-card h3 { font-size:13px; margin:10px 10px 5px; overflow-wrap:anywhere; }
#homepage .tv-category-card>span { display:block; font-size:11px; color:var(--tv-muted); margin:0 10px 11px; }
#homepage .tv-business-grid { display:grid; grid-template-columns:1fr; gap:16px; }
#homepage .tv-business-card.single-listing { border:1px solid var(--tv-border); border-radius:var(--tv-radius); overflow:hidden; background:#fff; box-shadow:0 5px 20px rgba(7,21,64,.05); }
#homepage .tv-business-card a { display:block; height:100%; color:var(--tv-navy); }
#homepage .tv-business-card:hover,#homepage .tv-category-card:hover { border-color:#afcdfa; box-shadow:0 8px 24px rgba(7,21,64,.1); }
#homepage .tv-business-image { position:relative; width:100%; height:0; padding-top:62.5%; background:#f3f6fa; overflow:hidden; }
#homepage .tv-business-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:10px; background:#f3f6fa; }
#homepage .tv-image-placeholder { color:#527dbd; }
#homepage .tv-image-placeholder svg { width:48px; height:48px; }
#homepage .tv-business-body { padding:14px; }
#homepage .tv-business-body .result-name { font-size:16px; min-height:0; margin:0 0 8px; overflow-wrap:anywhere; }
#homepage .tv-business-body p { color:var(--tv-muted); font-size:14px; margin:0 0 8px; }
#homepage .tv-business-body .view-listing-btn { display:inline-block; color:var(--tv-blue); font-size:14px; font-weight:600; margin-top:6px; }
#homepage .tv-empty-state { padding:20px; background:#f5f8fc; border-radius:12px; color:var(--tv-muted); }
#homepage .tv-map-frame { height:360px; border:1px solid var(--tv-border); border-radius:var(--tv-radius); overflow:hidden; }
#homepage .tv-map-frame #map { height:100%; }
#homepage .tv-photo-credit { color:var(--tv-muted); font-size:11px; padding:12px 0 24px; }
#homepage .tv-photo-credit a { color:var(--tv-muted); text-decoration:underline; }
@media(min-width:576px) {
  #homepage .tv-business-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #homepage .tv-category-shortcuts { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(min-width:768px) {
  #homepage .tv-hero { padding:44px 0 56px; }
  #homepage .tv-hero h1 { font-size:40px; }
  #homepage .tv-hero-search .main-search-form { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px; gap:0; }
  #homepage .tv-search-field { border-bottom:0; border-right:1px solid var(--tv-border); }
  #homepage .tv-hero-search .main-search-btn { margin-left:6px; width:calc(100% - 6px); }
}
@media(min-width:992px) {
  .tv-header .tv-category-toggle { display:none; }
  .tv-header .menu-dropdown:hover .menu-dropdown-content,.tv-header .menu-dropdown:focus-within .menu-dropdown-content { display:block; }
  #homepage .tv-category-shortcuts { grid-template-columns:repeat(9,minmax(0,1fr)); padding:24px 0; }
  #homepage .tv-category-cards { grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
  #homepage .tv-category-art { height:auto; aspect-ratio:8/5; }
  #homepage .tv-category-card h3 { margin:8px 10px 5px; min-height:32px; }
  #homepage .tv-category-card>span { margin-bottom:10px; }
  #homepage .tv-business-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:991.98px) {
  .tv-header .navbar-collapse { padding-top:12px; }
  .tv-header .menu-dropdown { display:grid; grid-template-columns:1fr 44px; align-items:center; }
  .tv-header .menu-dropdown-content { grid-column:1/-1; position:static; min-width:0; width:100%; box-shadow:none; margin:6px 0; }
  .tv-header .menu-dropdown:hover .menu-dropdown-content:not(.show) { display:none; }
  .tv-header .menu-dropdown-content.show { display:block; }
}
@media(max-width:575.98px) {
  .tv-header { min-height:60px; }
  .tv-header .tv-brand { font-size:24px; }
  .tv-header .tv-brand-pin { height:30px; width:24px; }
  #homepage { padding-top:60px; }
  #homepage .tv-hero { padding:26px 0 36px; background-position:62% center; }
  #homepage .tv-section-heading h2 { font-size:19px; }
  #homepage .tv-section-heading a { font-size:12px; }
}

/* Refined photo geometry, category colors and compact homepage footer. */
#homepage .tv-category-art { position:relative; overflow:hidden; }
#homepage .tv-category-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#homepage .tv-image-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#527dbd; background:#edf5ff; }
#homepage .tv-image-fallback svg { width:32px; height:32px; }
#homepage .tv-image-frame img[hidden] { display:none; }
#homepage .tv-icon-leaf .tv-icon-circle { color:#299b40; background:#eef9ef; }
#homepage .tv-icon-beauty .tv-icon-circle { color:#ef4393; background:#fff1f8; }
#homepage .tv-icon-sport .tv-icon-circle { color:#0878bc; background:#eef8ff; }
#homepage .tv-shortcut>span:last-child { max-width:125px; line-height:1.3; }
#homepage .tv-business-body { display:flex; flex-direction:column; flex:1; }
#homepage .tv-business-card>.title-link { display:flex; flex-direction:column; }
#homepage .tv-business-body .view-listing-btn { margin-top:auto; padding-top:8px; }
#homepage .tv-footer { background:#f8faff!important; padding:22px 0!important; border-top:1px solid var(--tv-border); }
#homepage .tv-footer>.container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }
#homepage .tv-footer-links { display:flex; flex-wrap:wrap; gap:18px; font-size:13px; }
#homepage .tv-footer-links a { color:var(--tv-navy); }
#homepage .tv-footer-links a:first-child { font-weight:700; }
#homepage .tv-footer .calendar { display:flex; align-items:center; gap:5px; width:auto; height:auto; margin:0; background:transparent; overflow:visible; border-radius:0; box-shadow:none; color:var(--tv-muted); }
#homepage .tv-footer .month,#homepage .tv-footer .dayofmonth,#homepage .tv-footer .dayofweekend { height:auto; padding:0; background:transparent; border:0; }
#homepage .tv-footer .month { order:3; }
#homepage .tv-footer .dayofmonth { order:2; }
#homepage .tv-footer .dayofweekend { order:1; }
#homepage .tv-footer .calendar p { font-size:12px; line-height:1.5; font-weight:400; color:var(--tv-muted); margin:0; }
#homepage .tv-footer .text-white { color:var(--tv-muted)!important; font-size:12px; }
@media(min-width:576px) and (max-width:991.98px) {
  #homepage .tv-category-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:575.98px) {
  #homepage .tv-hero h1 { font-size:28px; line-height:1.16; max-width:310px; margin:12px 0; }
  #homepage .tv-hero p { font-size:14px; margin-bottom:16px; }
  #homepage .tv-hero-search .main-search-form { gap:3px; }
  #homepage .tv-search-field input { font-size:13px; height:44px!important; }
  #homepage .tv-hero-search .main-search-btn { height:44px!important; }
  #homepage .tv-category-shortcuts { gap:14px 8px; padding:16px 0 12px; }
  #homepage .tv-section { padding:14px 0; }
  #homepage .tv-category-cards { gap:10px; }
  #homepage .tv-business-grid { gap:14px; }
  #homepage .tv-shortcut { font-size:11px; }
  #homepage .tv-section-heading { align-items:baseline; gap:8px; margin-bottom:14px; }
  #homepage .tv-section-heading h2 { font-size:18px; }
  #homepage .tv-section-heading a { font-size:11px; }
  #homepage .tv-category-art { height:96px; }
  #homepage .tv-category-card h3 { font-size:13px; }
  #homepage .tv-category-card>span { font-size:10px; line-height:1.4; }
  #homepage .tv-business-card>.title-link { flex-direction:row; align-items:stretch; }
  #homepage .tv-business-image { width:100px; min-height:132px; height:auto; padding-top:0; flex-shrink:0; }
  #homepage .tv-business-body { min-width:0; padding:12px; }
  #homepage .tv-business-body .result-name { font-size:15px; line-height:1.35; }
  #homepage .tv-business-body p { font-size:12px; margin-bottom:5px; }
  #homepage .tv-business-body .view-listing-btn { font-size:12px; }
  #homepage .tv-footer>.container { flex-direction:column; align-items:flex-start; gap:12px; }
}

/* Categories archive only — approved Modern & Friendly category mockup. */
.categories-archive { margin:0; padding-top:68px; color:var(--tv-navy); background:#fff; font-family:Arial,Helvetica,sans-serif; }
.categories-archive .tv-categories { padding-top:24px; padding-bottom:40px; margin-bottom:0; }
.categories-archive .tv-category-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 18px; list-style:none; font-size:12px; color:var(--tv-muted); }
.categories-archive .tv-category-breadcrumb li+li:before { content:"›"; margin-right:8px; }
.categories-archive .tv-category-breadcrumb a { color:var(--tv-muted); }
.categories-archive .tv-category-page-heading { display:flex; flex-direction:column; gap:18px; margin-bottom:8px; }
.categories-archive .tv-category-page-heading h1 { margin:0 0 6px; font-size:30px; line-height:1.2; font-weight:750; letter-spacing:-.6px; }
.categories-archive .tv-category-page-heading p { margin:0; color:var(--tv-muted); font-size:14px; }
.categories-archive .tv-category-filter { position:relative; width:100%; }
.categories-archive .tv-category-filter input { width:100%; height:46px; padding:10px 76px 10px 14px; border:1px solid var(--tv-border); border-radius:10px; background:#fff; color:var(--tv-navy); font-size:13px; }
.categories-archive .tv-category-filter input::-webkit-search-cancel-button { -webkit-appearance:none; }
.categories-archive .tv-category-filter>svg { position:absolute; right:14px; top:13px; pointer-events:none; }
.categories-archive .tv-category-clear { position:absolute; right:38px; top:3px; width:36px; height:40px; padding:0; border:0; background:transparent; color:var(--tv-muted); font-size:23px; cursor:pointer; }
.categories-archive .tv-category-filter-help { color:var(--tv-muted); font-size:12px; margin:12px 0 18px; }
.categories-archive .tv-category-grid.row.accordion { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; width:100%; margin:20px 0 0; align-items:start; }
.categories-archive .tv-category-card.card { margin:0; min-width:0; border:1px solid var(--tv-border); border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 2px 8px rgba(7,21,64,.025); }
.categories-archive .tv-category-card:hover { border-color:#bdcff0; box-shadow:0 5px 16px rgba(7,21,64,.06); }
.categories-archive .tv-category-card:focus-within { border-color:var(--tv-blue); }
.categories-archive .tv-category-card .card-header { position:relative; border:0; padding:0; background:transparent; }
.categories-archive .tv-category-card h2 { margin:0; font-size:14px; }
.categories-archive .tv-category-expand.btn.btn-link { position:relative; display:flex; align-items:center; gap:12px; width:calc(100% - 38px); min-height:86px; padding:14px 8px 14px 14px; color:var(--tv-navy); text-align:left; white-space:normal; border:0; border-radius:0; line-height:1.4; }
.categories-archive .tv-category-expand:hover { text-decoration:none; background:#f8fbff; }
.categories-archive .tv-category-icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:#eef5ff; color:var(--tv-blue); }
.categories-archive .tv-category-name { flex:1; min-width:0; overflow-wrap:anywhere; font-size:13px; font-weight:650; }
.categories-archive .tv-category-match { display:block; font-size:11px; font-weight:400; color:var(--tv-muted); margin-top:5px; }
.categories-archive .tv-category-chevron { flex-shrink:0; width:14px; }
.categories-archive .tv-category-expand[aria-expanded="true"] .tv-category-chevron { transform:rotate(180deg); }
.categories-archive .tv-category-link { position:absolute; right:0; top:0; bottom:0; width:38px; display:flex; align-items:center; justify-content:center; color:var(--tv-navy); border-left:1px solid #f1f5fb; }
.categories-archive .tv-category-link:hover { color:var(--tv-blue); background:#f0f6ff; }
.categories-archive .tv-category-panel .card-body { padding:4px 16px 16px; border-top:1px solid var(--tv-border); }
.categories-archive .sub-categories-list { list-style:none; margin:0; padding:6px 0; }
.categories-archive .single-sub-category a { display:block; padding:9px 8px; color:var(--tv-navy); font-size:13px; line-height:1.45; overflow-wrap:anywhere; border-radius:6px; }
.categories-archive .single-sub-category a:hover { background:#eef5ff; color:var(--tv-blue); }
.categories-archive .tv-category-view-all { display:inline-block; padding:10px 8px 0; color:var(--tv-blue); font-size:12px; font-weight:600; }
.categories-archive .tv-category-no-results,.categories-archive .tv-category-empty { padding:24px; margin:20px 0; border-radius:12px; background:#f5f8fc; color:var(--tv-muted); }
.categories-archive [hidden] { display:none!important; }
.categories-archive .tv-category-tone-leaf .tv-category-icon,.categories-archive .tv-category-tone-home .tv-category-icon { color:#159c4d; background:#edf9f1; }
.categories-archive .tv-category-tone-bag .tv-category-icon,.categories-archive .tv-category-tone-tools .tv-category-icon,.categories-archive .tv-category-tone-gear .tv-category-icon { color:#ed9500; background:#fff8eb; }
.categories-archive .tv-category-tone-beauty .tv-category-icon,.categories-archive .tv-category-tone-music .tv-category-icon { color:#ec469c; background:#fff1f8; }
.categories-archive .tv-category-tone-health .tv-category-icon { color:#f23e65; background:#fff0f3; }
.categories-archive .tv-category-tone-food .tv-category-icon,.categories-archive .tv-category-tone-church .tv-category-icon { color:#653ad7; background:#f5f1ff; }
.categories-archive .tv-category-tone-truck .tv-category-icon,.categories-archive .tv-category-tone-factory .tv-category-icon { color:#008bb8; background:#ebf9ff; }
.categories-archive a:focus-visible,.categories-archive button:focus-visible,.categories-archive input:focus-visible,.categories-archive summary:focus-visible { outline:3px solid var(--tv-blue); outline-offset:2px; }
.categories-archive .tv-business-search { margin-top:28px; border:1px solid var(--tv-border); border-radius:10px; padding:14px; }
.categories-archive .tv-business-search summary { color:var(--tv-navy); cursor:pointer; font-size:13px; font-weight:600; }
.categories-archive .tv-business-search .search-sec { margin:16px 0 0; padding:16px 0; border-radius:8px; background:#f5f8fc; }
.categories-archive .tv-business-search .main-search-form input { font-size:14px; }
.categories-archive .tv-business-search .main-search-btn { font-size:14px; }
.categories-archive footer.bg-dark { background:#f8faff!important; padding:22px 0!important; border-top:1px solid var(--tv-border); }
.categories-archive footer .calendar { display:flex; align-items:center; justify-content:center; gap:5px; width:auto; height:auto; margin:0 0 8px; background:transparent; border-radius:0; box-shadow:none; }
.categories-archive footer .month,.categories-archive footer .dayofmonth,.categories-archive footer .dayofweekend { height:auto; padding:0; background:transparent; border:0; }
.categories-archive footer .month { order:3; }
.categories-archive footer .dayofmonth { order:2; }
.categories-archive footer .dayofweekend { order:1; }
.categories-archive footer .calendar p,.categories-archive footer .text-white { margin:0; font-size:12px; font-weight:400; color:var(--tv-muted)!important; }
@media(min-width:600px) {
  .categories-archive .tv-category-grid.row.accordion { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:992px) {
  .categories-archive .tv-category-page-heading { flex-direction:row; justify-content:space-between; align-items:center; }
  .categories-archive .tv-category-filter { width:310px; flex-shrink:0; }
  .categories-archive .tv-category-grid.row.accordion { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
}
@media(max-width:575.98px) {
  .categories-archive { padding-top:60px; }
  .categories-archive .tv-categories { padding-top:18px; padding-bottom:28px; }
  .categories-archive .tv-category-page-heading h1 { font-size:26px; }
  .categories-archive .tv-category-expand.btn.btn-link { min-height:82px; gap:10px; padding-left:12px; }
  .categories-archive .tv-category-icon { width:42px; height:42px; }
}

/* Categories modal and shared modern business search; no homepage overrides. */
.categories-archive .tv-subcategory-modal .modal-dialog { max-width:760px; margin:24px auto; padding:0 12px; min-height:calc(100% - 48px); }
.categories-archive .tv-subcategory-modal .modal-content { max-height:calc(100vh - 48px); border:1px solid var(--tv-border); border-radius:16px; box-shadow:0 20px 70px rgba(7,21,64,.22); overflow:hidden; }
.categories-archive .tv-subcategory-modal .modal-header { align-items:center; padding:20px 24px; border-bottom:1px solid var(--tv-border); flex-shrink:0; }
.categories-archive .tv-subcategory-modal .modal-title { font-size:20px; font-weight:700; overflow-wrap:anywhere; }
.categories-archive .tv-subcategory-modal .close { opacity:1; color:var(--tv-navy); }
.categories-archive .tv-modal-search { padding:16px 24px 8px; flex-shrink:0; }
.categories-archive .tv-modal-search label { display:block; font-size:13px; font-weight:600; }
.categories-archive .tv-modal-search input { width:100%; height:44px; padding:10px 12px; border:1px solid var(--tv-border); border-radius:9px; color:var(--tv-navy); }
.categories-archive .tv-subcategory-modal .modal-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px 24px 16px; }
.categories-archive .tv-subcategory-modal .sub-categories-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; }
.categories-archive .tv-subcategory-modal .single-sub-category a { border:1px solid var(--tv-border); padding:12px; height:100%; }
.categories-archive .tv-subcategory-modal .modal-footer { flex-shrink:0; justify-content:space-between; padding:14px 24px; border-top:1px solid var(--tv-border); gap:10px; }
.categories-archive .tv-modal-parent { color:var(--tv-blue); font-size:13px; font-weight:600; }
.categories-archive .tv-modal-close { background:var(--tv-yellow); color:var(--tv-navy); border-radius:8px; font-weight:600; }
.categories-archive .tv-modal-empty { color:var(--tv-muted); font-size:14px; }
.categories-archive .tv-business-search .tv-hero-search.search-sec { background:#fff; padding:7px; margin:16px 0 0; border:1px solid var(--tv-border); border-radius:12px; box-shadow:0 4px 16px rgba(7,21,64,.06); }
.categories-archive .tv-business-search .main-search-form { display:grid; grid-template-columns:1fr; gap:6px; }
.categories-archive .tv-business-search .tv-search-field { display:flex; align-items:center; gap:10px; padding:0 12px; min-width:0; color:var(--tv-navy); border-bottom:1px solid var(--tv-border); }
.categories-archive .tv-business-search .tv-search-field svg { flex-shrink:0; }
.categories-archive .tv-business-search .tv-search-field input { min-width:0; border:0; border-radius:6px; margin:0; font-size:14px; height:48px!important; color:var(--tv-navy); }
.categories-archive .tv-business-search .tv-search-field input::placeholder { color:var(--tv-muted); opacity:1; }
.categories-archive .tv-business-search .tv-search-field input:focus { box-shadow:0 0 0 2px var(--tv-blue); }
.categories-archive .tv-business-search .main-search-btn { background:var(--tv-yellow); border-color:var(--tv-yellow); color:var(--tv-navy); font-size:14px; font-weight:700; border-radius:8px; height:48px!important; width:100%; }
.categories-archive .tv-business-search .main-search-btn:hover { background:#f5cb00; opacity:1; }
@media(min-width:768px) {
 .categories-archive .tv-business-search .main-search-form { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px; gap:0; }
 .categories-archive .tv-business-search .tv-search-field { border-bottom:0; border-right:1px solid var(--tv-border); }
 .categories-archive .tv-business-search .main-search-btn { margin-left:6px; width:calc(100% - 6px); }
}
@media(max-width:575.98px) {
 .categories-archive .tv-subcategory-modal .modal-dialog { margin:8px auto; padding:0 8px; min-height:calc(100% - 16px); }
 .categories-archive .tv-subcategory-modal .modal-content { height:calc(100vh - 16px); max-height:calc(100vh - 16px); border-radius:12px; }
 .categories-archive .tv-subcategory-modal .modal-header { padding:16px; }
 .categories-archive .tv-subcategory-modal .modal-title { font-size:17px; }
 .categories-archive .tv-modal-search { padding:14px 16px 8px; }
 .categories-archive .tv-subcategory-modal .modal-body { padding:8px 16px 16px; }
 .categories-archive .tv-subcategory-modal .sub-categories-list { grid-template-columns:minmax(0,1fr); }
 .categories-archive .tv-subcategory-modal .modal-footer { padding:12px 16px; }
}

/* Search results only — Modern & Friendly; existing page rules remain intact. */
.tv-search-page { margin:0; padding-top:68px; background:#fff; color:var(--tv-navy); font-family:Arial,Helvetica,sans-serif; }
.tv-search-page .tv-search-main.main-container { margin:0 auto; padding-top:24px; padding-bottom:32px; }
.tv-search-page .tv-results-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 20px; font-size:12px; color:var(--tv-muted); }
.tv-search-page .tv-results-breadcrumb li+li:before { content:"›"; margin-right:8px; }
.tv-search-page .tv-results-breadcrumb a { color:var(--tv-muted); }
.tv-search-page .tv-results-search .tv-hero-search.search-sec { padding:7px; margin:0; border:1px solid var(--tv-border); border-radius:12px; background:#fff; box-shadow:0 4px 16px rgba(7,21,64,.06); }
.tv-search-page .tv-results-search .main-search-form { display:grid; grid-template-columns:1fr; gap:6px; }
.tv-search-page .tv-search-field { display:flex; align-items:center; gap:10px; padding:0 12px; min-width:0; color:var(--tv-navy); border-bottom:1px solid var(--tv-border); }
.tv-search-page .tv-search-field svg { flex-shrink:0; }
.tv-search-page .tv-search-field input { min-width:0; border:0; border-radius:6px; margin:0; font-size:14px; height:48px!important; color:var(--tv-navy); scroll-margin-top:90px; }
.tv-search-page .tv-search-field input::placeholder { color:var(--tv-muted); opacity:1; }
.tv-search-page .tv-search-field input:focus { box-shadow:0 0 0 2px var(--tv-blue); }
.tv-search-page .main-search-btn { background:var(--tv-yellow); border-color:var(--tv-yellow); color:var(--tv-navy); font-size:14px; font-weight:700; border-radius:8px; height:48px!important; width:100%; }
.tv-search-page .main-search-btn:hover { background:#f5cb00; opacity:1; }
.tv-search-page .tv-results-heading { margin:28px 0 22px; }
.tv-search-page .tv-results-heading h1 { margin:0 0 10px; font-size:28px; font-weight:750; letter-spacing:-.5px; line-height:1.25; }
.tv-search-page .tv-results-heading p { margin:0; color:var(--tv-muted); font-size:14px; overflow-wrap:anywhere; }
.tv-search-page .tv-results-heading strong { color:var(--tv-navy); }
.tv-search-page .tv-results-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.tv-search-page .tv-result-card.single-listing { display:flex; gap:18px; margin:0; padding:18px; min-width:0; border:1px solid var(--tv-border); border-radius:14px; box-shadow:0 3px 12px rgba(7,21,64,.04); background:#fff; }
.tv-search-page .tv-result-card:hover { border-color:#bdcff0; box-shadow:0 6px 20px rgba(7,21,64,.07); }
.tv-search-page .tv-result-image-link { width:128px; flex-shrink:0; align-self:flex-start; }
.tv-search-page .tv-result-image { position:relative; width:100%; height:104px; border:1px solid var(--tv-border); border-radius:10px; overflow:hidden; background:#f5f8fc; }
.tv-search-page .tv-result-image-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#91a6c8; }
.tv-search-page .tv-result-image-fallback svg { width:32px; height:32px; }
.tv-search-page .tv-result-image img.listing-image { position:relative; display:block; width:100%; height:100%; object-fit:contain; background:#fff; }
.tv-search-page .tv-result-image img[hidden] { display:none!important; }
.tv-search-page .tv-result-body { min-width:0; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.tv-search-page .tv-result-card .title { font-size:17px; font-weight:700; line-height:1.35; margin:0 0 8px; overflow-wrap:anywhere; }
.tv-search-page .tv-result-card .title a { color:var(--tv-navy); }
.tv-search-page .tv-result-card .title a:hover { color:var(--tv-blue); }
.tv-search-page .tv-result-category { font-size:12px; color:var(--tv-blue); margin:0 0 8px; overflow-wrap:anywhere; }
.tv-search-page .tv-result-card .listing-location { display:flex; gap:6px; align-items:flex-start; color:var(--tv-muted); font-size:12px; line-height:1.5; margin:0 0 10px; overflow-wrap:anywhere; }
.tv-search-page .tv-result-card .listing-location svg { width:16px; height:16px; flex-shrink:0; }
.tv-search-page .tv-result-card .listing-description { font-size:13px; line-height:1.6; color:var(--tv-muted); margin:0 0 14px; overflow-wrap:anywhere; }
.tv-search-page .tv-result-card .view-listing-btn { margin-top:auto; padding:9px 12px; border:1px solid var(--tv-border); border-radius:8px; background:#f2f7ff; color:var(--tv-blue); font-size:12px; font-weight:600; white-space:normal; text-align:left; }
.tv-search-page .tv-result-card .view-listing-btn:hover { background:#e5f0ff; border-color:#bdcff0; }
.tv-search-page .tv-results-empty { padding:36px 20px; background:#f8fbff; border:1px solid var(--tv-border); border-radius:14px; text-align:center; }
.tv-search-page .tv-results-empty-icon { display:flex; align-items:center; justify-content:center; width:54px; height:54px; margin:0 auto 14px; border-radius:16px; background:#fff4c0; color:var(--tv-navy); }
.tv-search-page .tv-results-empty h2 { font-size:20px; font-weight:700; }
.tv-search-page .tv-results-empty p { color:var(--tv-muted); font-size:14px; }
.tv-search-page .tv-results-retry { background:var(--tv-yellow); color:var(--tv-navy); font-size:13px; font-weight:700; border-radius:8px; }
.tv-search-page .tv-results-suggestions.suggested { padding:0 0 32px; background:#fff; }
.tv-search-page .tv-results-suggestions .row>.col-12 { margin:8px 0 18px!important; }
.tv-search-page .tv-results-suggestions .result-name { color:var(--tv-navy); font-size:15px; overflow-wrap:anywhere; }
.tv-search-page .tv-results-suggestions h2 { font-size:20px; font-weight:700; }
.tv-search-page footer.bg-dark { background:#f8faff!important; padding:22px 0!important; border-top:1px solid var(--tv-border); }
.tv-search-page footer .calendar { display:flex; align-items:center; justify-content:center; gap:5px; width:auto; height:auto; margin:0 0 8px; background:transparent; border-radius:0; box-shadow:none; }
.tv-search-page footer .month,.tv-search-page footer .dayofmonth,.tv-search-page footer .dayofweekend { height:auto; padding:0; background:transparent; border:0; }
.tv-search-page footer .month { order:3; }
.tv-search-page footer .dayofmonth { order:2; }
.tv-search-page footer .dayofweekend { order:1; }
.tv-search-page footer .calendar p,.tv-search-page footer .text-white { margin:0; font-size:12px; font-weight:400; color:var(--tv-muted)!important; }
.tv-search-page a:focus-visible,.tv-search-page button:focus-visible,.tv-search-page input:focus-visible { outline:3px solid var(--tv-blue); outline-offset:2px; }
@media(min-width:768px) {
 .tv-search-page .tv-results-search .main-search-form { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px; gap:0; }
 .tv-search-page .tv-search-field { border-bottom:0; border-right:1px solid var(--tv-border); }
 .tv-search-page .main-search-btn { margin-left:6px; width:calc(100% - 6px); }
}
@media(min-width:992px) {
 .tv-search-page .tv-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:575.98px) {
 .tv-search-page { padding-top:60px; }
 .tv-search-page .tv-search-main.main-container { padding-top:18px; padding-bottom:24px; }
 .tv-search-page .tv-results-heading h1 { font-size:23px; }
 .tv-search-page .tv-results-heading { margin:22px 0 18px; }
 .tv-search-page .tv-results-grid { gap:14px; }
 .tv-search-page .tv-result-card.single-listing { padding:14px; gap:12px; }
 .tv-search-page .tv-result-image-link { width:88px; }
 .tv-search-page .tv-result-image { height:80px; }
 .tv-search-page .tv-result-card .title { font-size:15px; }
}
@media(max-width:359.98px) {
 .tv-search-page .tv-result-card.single-listing { flex-direction:column; }
 .tv-search-page .tv-result-image-link { width:110px; }
}

/* Search cards: keep the description full-width on small screens. */
.tv-search-page .tv-result-card .title { border-bottom:0; }
@media(max-width:575.98px) {
 .tv-search-page .tv-result-card.single-listing { display:grid; grid-template-columns:88px minmax(0,1fr); gap:8px 12px; }
 .tv-search-page .tv-result-image-link { width:88px; grid-column:1; grid-row:1 / span 3; }
 .tv-search-page .tv-result-body { display:contents; }
 .tv-search-page .tv-result-card .title { grid-column:2; margin:0; }
 .tv-search-page .tv-result-category { grid-column:2; margin:0; }
 .tv-search-page .tv-result-card .listing-location { grid-column:2; margin:0; }
 .tv-search-page .tv-result-card .listing-description { grid-column:1 / -1; margin:6px 0 0; }
 .tv-search-page .tv-result-card .view-listing-btn { grid-column:1 / -1; justify-self:start; margin-top:6px; }
}

/* Search v1 review: compact desktop results and image cards for suggestions. */
.tv-search-page .tv-result-card .view-listing-btn { background:var(--tv-navy); border-color:var(--tv-navy); color:#fff; transition:background-color .15s ease,border-color .15s ease; }
.tv-search-page .tv-result-card .view-listing-btn:hover { background:#152a5d; border-color:#152a5d; color:#fff; }
.tv-search-page .tv-suggestions-heading { margin:6px 0 18px; color:var(--tv-navy); font-size:20px; font-weight:700; }
.tv-search-page .tv-suggestions-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.tv-search-page .tv-suggestions-grid .tv-result-card.single-listing { display:flex; flex-direction:column; gap:0; padding:0; overflow:hidden; }
.tv-search-page .tv-suggestions-grid .tv-result-image-link { width:100%; }
.tv-search-page .tv-suggestions-grid .tv-result-image { height:172px; border:0; border-bottom:1px solid var(--tv-border); border-radius:0; }
.tv-search-page .tv-suggestions-grid .tv-result-body { display:flex; padding:18px; width:100%; }
.tv-search-page .tv-suggestions-grid .tv-result-card .title { font-size:16px; min-height:0; margin-bottom:8px; }
.tv-search-page .tv-suggestions-grid .tv-result-category { margin-bottom:8px; }
.tv-search-page .tv-suggestions-grid .listing-location { margin-bottom:14px; }
@media(min-width:768px) {
 .tv-search-page .tv-suggestions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:992px) {
 .tv-search-page .tv-results-grid { gap:16px; align-items:start; }
 .tv-search-page .tv-results-grid .tv-result-card.single-listing { padding:16px; gap:14px; }
 .tv-search-page .tv-results-grid .tv-result-image-link { width:112px; }
 .tv-search-page .tv-results-grid .tv-result-image { height:92px; }
 .tv-search-page .tv-results-grid .title { margin-bottom:6px; }
 .tv-search-page .tv-results-grid .tv-result-category { margin-bottom:6px; }
 .tv-search-page .tv-results-grid .listing-location { margin-bottom:8px; }
 .tv-search-page .tv-results-grid .listing-description { line-height:1.5; margin-bottom:10px; }
 .tv-search-page .tv-results-grid .view-listing-btn { margin-top:0; padding:8px 12px; }
}
@media(max-width:575.98px) {
 .tv-search-page .tv-suggestions-grid .tv-result-body { padding:14px; }
 .tv-search-page .tv-suggestions-grid .tv-result-card .view-listing-btn { margin-top:auto; }
}

.tv-search-page .tv-suggestions-grid .tv-result-image { background:#fff; }
.tv-search-page .tv-suggestions-grid .tv-result-image img.listing-image { max-width:320px; padding:12px; margin:0 auto; }

/* Business profile only — Modern & Friendly. */
.tv-profile-page { margin:0; padding-top:68px; color:var(--tv-navy); background:#fff; font-family:Arial,Helvetica,sans-serif; }
.tv-profile-page .tv-profile-main { padding-top:24px; padding-bottom:32px; }
.tv-profile-page .tv-profile-breadcrumb { margin:22px 0 18px; color:var(--tv-muted); font-size:12px; overflow-wrap:anywhere; }
.tv-profile-page .cat-breadcrumb { margin:0; line-height:1.8; }
.tv-profile-page .cat-breadcrumb a { color:var(--tv-muted); }
.tv-profile-page .tv-profile-header { display:flex; align-items:flex-start; gap:24px; padding:24px; border:1px solid var(--tv-border); border-radius:16px; box-shadow:0 4px 18px rgba(7,21,64,.04); margin-bottom:24px; }
.tv-profile-page .tv-profile-heading { flex:1; min-width:0; }
.tv-profile-page .tv-profile-heading h1 { font-size:28px; line-height:1.25; font-weight:750; margin:0 0 12px; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-category { color:var(--tv-blue); font-size:14px; margin:0 0 8px; }
.tv-profile-page .tv-profile-location { color:var(--tv-muted); font-size:13px; margin:0 0 12px; }
.tv-profile-page .tv-profile-summary { font-size:14px; line-height:1.6; color:var(--tv-muted); margin:0 0 16px; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-image-frame { position:relative; display:block; background:#fff; border:1px solid var(--tv-border); border-radius:12px; overflow:hidden; }
.tv-profile-page .tv-profile-logo { width:230px; height:180px; flex-shrink:0; }
.tv-profile-page .tv-profile-image-frame img { position:relative; display:block; width:100%; height:100%; object-fit:contain; padding:8px; background:#fff; }
.tv-profile-page .tv-profile-image-frame img[hidden] { display:none!important; }
.tv-profile-page .tv-profile-image-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#f5f8fc; color:#91a6c8; }
.tv-profile-page .tv-profile-image-fallback svg { width:36px; height:36px; }
.tv-profile-page .tv-profile-actions { display:flex; flex-wrap:wrap; gap:10px; }
.tv-profile-page .tv-profile-action { background:var(--tv-navy); color:#fff; border:1px solid var(--tv-navy); border-radius:9px; padding:11px 16px; font-size:13px; font-weight:600; white-space:normal; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-action:hover { background:#152a5d; color:#fff; }
.tv-profile-page .tv-profile-primary { background:var(--tv-yellow); border-color:var(--tv-yellow); color:var(--tv-navy); }
.tv-profile-page .tv-profile-primary:hover { background:#f5cb00; color:var(--tv-navy); }
.tv-profile-page .tv-profile-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:22px; }
.tv-profile-page .tv-profile-content,.tv-profile-page .tv-profile-sidebar { min-width:0; }
.tv-profile-page .tv-profile-panel { border:1px solid var(--tv-border); background:#fff; border-radius:14px; padding:22px; margin-bottom:20px; box-shadow:0 2px 10px rgba(7,21,64,.025); }
.tv-profile-page .tv-profile-panel h2 { font-size:19px; line-height:1.35; font-weight:700; margin:0 0 18px; }
.tv-profile-page .tv-profile-description { color:var(--tv-muted); font-size:14px; line-height:1.75; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-description img,.tv-profile-page .tv-profile-description video,.tv-profile-page .tv-profile-description iframe { max-width:100%; }
.tv-profile-page .tv-profile-description img { height:auto; }
.tv-profile-page .tv-profile-description table { display:block; max-width:100%; overflow-x:auto; }
.tv-profile-page .tv-profile-description pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-description a { color:var(--tv-blue); }
.tv-profile-page .tv-profile-description p:last-child { margin-bottom:0; }
.tv-profile-page .tv-profile-category-links { display:flex; flex-wrap:wrap; gap:10px; }
.tv-profile-page .tv-profile-category-links>a,.tv-profile-page .tv-profile-category-links>span { display:block; padding:10px 12px; border:1px solid var(--tv-border); border-radius:8px; color:var(--tv-blue); font-size:13px; overflow-wrap:anywhere; max-width:100%; }
.tv-profile-page .tv-profile-details { margin:0 0 16px; }
.tv-profile-page .tv-profile-details>div { padding:10px 0; border-bottom:1px solid var(--tv-border); }
.tv-profile-page .tv-profile-details dt { color:var(--tv-muted); font-size:12px; margin-bottom:4px; font-weight:400; }
.tv-profile-page .tv-profile-details dd { margin:0; color:var(--tv-navy); font-size:14px; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-details a { color:var(--tv-blue); }
.tv-profile-page .tv-profile-gallery-link { height:210px; }
.tv-profile-page .owl-carousel:not(.owl-loaded) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tv-profile-page .owl-carousel .owl-nav button { width:44px; height:44px; border-radius:8px; background:#f0f6ff; color:var(--tv-navy); font-size:22px; }
.tv-profile-page .owl-carousel .owl-nav button:hover { background:var(--tv-navy); color:#fff; }
.tv-profile-page .owl-theme .owl-dots .owl-dot { min-width:32px; min-height:32px; }
.tv-profile-page .tv-profile-map { border:1px solid var(--tv-border); border-radius:12px; overflow:hidden; }
.tv-profile-page .tv-profile-map iframe { display:block; width:100%!important; max-width:100%; height:320px; border:0; }
.tv-profile-page .tv-profile-suggestions { padding-bottom:32px; }
.tv-profile-page .tv-profile-suggestions .result-name { font-size:15px; min-height:0; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-suggestions .row>.col-12 { margin:8px 0 18px!important; }
.tv-profile-page a:focus-visible,.tv-profile-page button:focus-visible,.tv-profile-page input:focus-visible { outline:3px solid var(--tv-blue); outline-offset:2px; }
@media(min-width:992px) {
 .tv-profile-page .tv-profile-layout { grid-template-columns:minmax(0,1fr) 320px; align-items:start; }
}
@media(max-width:575.98px) {
 .tv-profile-page { padding-top:60px; }
 .tv-profile-page .tv-profile-main { padding-top:18px; padding-bottom:20px; }
 .tv-profile-page .tv-profile-header { flex-direction:column; padding:16px; gap:16px; margin-bottom:18px; }
 .tv-profile-page .tv-profile-logo { width:100%; height:168px; }
 .tv-profile-page .tv-profile-heading h1 { font-size:23px; }
 .tv-profile-page .tv-profile-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
 .tv-profile-page .tv-profile-action { min-height:44px; width:100%; text-align:center; }
 .tv-profile-page .tv-profile-panel { padding:16px; margin-bottom:16px; }
 .tv-profile-page .tv-profile-panel h2 { font-size:18px; }
 .tv-profile-page .tv-profile-gallery-link { height:190px; }
 .tv-profile-page .tv-profile-map iframe { height:260px; }
 .tv-profile-page .owl-carousel:not(.owl-loaded) { grid-template-columns:minmax(0,1fr); }
}
.tv-profile-page .tv-profile-search .tv-hero-search.search-sec { padding:7px; margin:0; border:1px solid var(--tv-border); border-radius:12px; background:#fff; box-shadow:0 4px 16px rgba(7,21,64,.06); }
.tv-profile-page .tv-profile-search .main-search-form { display:grid; grid-template-columns:1fr; gap:6px; }
.tv-profile-page .tv-search-field { display:flex; align-items:center; gap:10px; padding:0 12px; min-width:0; color:var(--tv-navy); border-bottom:1px solid var(--tv-border); }
.tv-profile-page .tv-search-field svg { flex-shrink:0; }
.tv-profile-page .tv-search-field input { min-width:0; border:0; border-radius:6px; margin:0; font-size:14px; height:48px!important; color:var(--tv-navy); scroll-margin-top:90px; }
.tv-profile-page .tv-search-field input::placeholder { color:var(--tv-muted); opacity:1; }
.tv-profile-page .tv-search-field input:focus { box-shadow:0 0 0 2px var(--tv-blue); }
.tv-profile-page .main-search-btn { background:var(--tv-yellow); border-color:var(--tv-yellow); color:var(--tv-navy); font-size:14px; font-weight:700; border-radius:8px; height:48px!important; width:100%; }
.tv-profile-page .main-search-btn:hover { background:#f5cb00; opacity:1; }

@media(min-width:768px) {
 .tv-profile-page .tv-profile-search .main-search-form { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px; gap:0; }
 .tv-profile-page .tv-search-field { border-bottom:0; border-right:1px solid var(--tv-border); }
 .tv-profile-page .main-search-btn { margin-left:6px; width:calc(100% - 6px); }
}
.tv-profile-page footer.bg-dark { background:#f8faff!important; padding:22px 0!important; border-top:1px solid var(--tv-border); }
.tv-profile-page footer .calendar { display:flex; align-items:center; justify-content:center; gap:5px; width:auto; height:auto; margin:0 0 8px; background:transparent; border-radius:0; box-shadow:none; }
.tv-profile-page footer .month,.tv-profile-page footer .dayofmonth,.tv-profile-page footer .dayofweekend { height:auto; padding:0; background:transparent; border:0; }
.tv-profile-page footer .month { order:3; }
.tv-profile-page footer .dayofmonth { order:2; }
.tv-profile-page footer .dayofweekend { order:1; }
.tv-profile-page footer .calendar p,.tv-profile-page footer .text-white { margin:0; font-size:12px; font-weight:400; color:var(--tv-muted)!important; }

/* Profile final review: contact icons and reusable suggested-business cards. */
.tv-profile-page .tv-profile-action { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.tv-profile-page .tv-profile-contact-icon { width:18px; height:18px; flex-shrink:0; }
.tv-profile-page .tv-profile-action>span { min-width:0; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-suggestions>h2 { margin:6px 0 18px; font-size:20px; font-weight:700; color:var(--tv-navy); }
.tv-profile-page .tv-profile-suggestions-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.tv-profile-page .tv-profile-suggestions .tv-result-card.single-listing { display:flex; flex-direction:column; margin:0; padding:0; min-width:0; border:1px solid var(--tv-border); border-radius:14px; background:#fff; overflow:hidden; box-shadow:0 3px 12px rgba(7,21,64,.04); }
.tv-profile-page .tv-profile-suggestions .tv-result-card:hover { border-color:#bdcff0; box-shadow:0 6px 20px rgba(7,21,64,.07); }
.tv-profile-page .tv-profile-suggestions .tv-result-image-link { display:block; width:100%; }
.tv-profile-page .tv-profile-suggestions .tv-result-image { position:relative; height:172px; border-bottom:1px solid var(--tv-border); background:#fff; }
.tv-profile-page .tv-profile-suggestions .tv-result-image-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#f5f8fc; color:#91a6c8; }
.tv-profile-page .tv-profile-suggestions .tv-result-image-fallback svg { width:32px; height:32px; }
.tv-profile-page .tv-profile-suggestions .tv-result-image img.listing-image { position:relative; display:block; width:100%; max-width:320px; height:100%; margin:auto; padding:12px; object-fit:contain; background:#fff; }
.tv-profile-page .tv-profile-suggestions .tv-result-image img[hidden] { display:none!important; }
.tv-profile-page .tv-profile-suggestions .tv-result-body { display:flex; flex-direction:column; align-items:flex-start; flex:1; min-width:0; padding:18px; }
.tv-profile-page .tv-profile-suggestions .tv-result-card .title { font-size:16px; line-height:1.4; font-weight:700; min-height:0; border:0; margin:0 0 8px; overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-suggestions .title-link { color:var(--tv-navy); }
.tv-profile-page .tv-profile-suggestions .title-link:hover { color:var(--tv-blue); }
.tv-profile-page .tv-profile-suggestions .tv-result-category { margin:0 0 8px; font-size:12px; color:var(--tv-blue); overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-suggestions .listing-location { display:flex; align-items:flex-start; gap:6px; margin:0 0 14px; font-size:12px; color:var(--tv-muted); overflow-wrap:anywhere; }
.tv-profile-page .tv-profile-suggestions .listing-location svg { width:16px; height:16px; flex-shrink:0; }
.tv-profile-page .tv-profile-suggestions .view-listing-btn { margin-top:auto; padding:10px 12px; border:1px solid var(--tv-navy); border-radius:8px; color:#fff; background:var(--tv-navy); font-size:12px; font-weight:600; white-space:normal; }
.tv-profile-page .tv-profile-suggestions .view-listing-btn:hover { background:#152a5d; color:#fff; }
@media(min-width:768px) {
 .tv-profile-page .tv-profile-suggestions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:992px) {
 .tv-profile-page .tv-profile-suggestions-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:575.98px) {
 .tv-profile-page .tv-profile-suggestions .tv-result-body { padding:14px; }
}

/* Profile gallery arrows: symmetric side rails leave the photos unobstructed. */
.tv-profile-page .tv-profile-gallery .owl-carousel { padding-right:52px; padding-left:52px; }
.tv-profile-page .tv-profile-gallery .owl-carousel .owl-nav { position:absolute; top:0; left:0; right:0; height:210px; margin:0; background:transparent; width:auto; pointer-events:none; }
.tv-profile-page .tv-profile-gallery .owl-nav button.owl-prev,
.tv-profile-page .tv-profile-gallery .owl-nav button.owl-next { position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0; padding:0; border:1px solid var(--tv-border); border-radius:10px; background:rgba(255,255,255,.95); color:var(--tv-navy); box-shadow:0 2px 8px rgba(7,21,64,.08); font-family:Arial,Helvetica,sans-serif; font-size:30px; line-height:1; pointer-events:auto; }
.tv-profile-page .tv-profile-gallery .owl-nav button.owl-prev { left:4px; }
.tv-profile-page .tv-profile-gallery .owl-nav button.owl-next { right:4px; }
.tv-profile-page .tv-profile-gallery .owl-nav button:hover { background:#f0f6ff; color:var(--tv-navy); }
.tv-profile-page .tv-profile-gallery .owl-nav button span { display:block; padding:0; font-size:30px; line-height:1; }
@media(max-width:575.98px) {
 .tv-profile-page .tv-profile-gallery .owl-carousel .owl-nav { height:190px; }
}

/* Single category page: same approved search design, isolated selectors. */
/* Search results only — Modern & Friendly; existing page rules remain intact. */
.tv-single-category-page { margin:0; padding-top:68px; background:#fff; color:var(--tv-navy); font-family:Arial,Helvetica,sans-serif; }
.tv-single-category-page .tv-search-main.main-container { margin:0 auto; padding-top:24px; padding-bottom:32px; }
.tv-single-category-page .tv-results-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 20px; font-size:12px; color:var(--tv-muted); }
.tv-single-category-page .tv-results-breadcrumb li+li:before { content:"›"; margin-right:8px; }
.tv-single-category-page .tv-results-breadcrumb a { color:var(--tv-muted); }
.tv-single-category-page .tv-results-search .tv-hero-search.search-sec { padding:7px; margin:0; border:1px solid var(--tv-border); border-radius:12px; background:#fff; box-shadow:0 4px 16px rgba(7,21,64,.06); }
.tv-single-category-page .tv-results-search .main-search-form { display:grid; grid-template-columns:1fr; gap:6px; }
.tv-single-category-page .tv-search-field { display:flex; align-items:center; gap:10px; padding:0 12px; min-width:0; color:var(--tv-navy); border-bottom:1px solid var(--tv-border); }
.tv-single-category-page .tv-search-field svg { flex-shrink:0; }
.tv-single-category-page .tv-search-field input { min-width:0; border:0; border-radius:6px; margin:0; font-size:14px; height:48px!important; color:var(--tv-navy); scroll-margin-top:90px; }
.tv-single-category-page .tv-search-field input::placeholder { color:var(--tv-muted); opacity:1; }
.tv-single-category-page .tv-search-field input:focus { box-shadow:0 0 0 2px var(--tv-blue); }
.tv-single-category-page .main-search-btn { background:var(--tv-yellow); border-color:var(--tv-yellow); color:var(--tv-navy); font-size:14px; font-weight:700; border-radius:8px; height:48px!important; width:100%; }
.tv-single-category-page .main-search-btn:hover { background:#f5cb00; opacity:1; }
.tv-single-category-page .tv-results-heading { margin:28px 0 22px; }
.tv-single-category-page .tv-results-heading h1 { margin:0 0 10px; font-size:28px; font-weight:750; letter-spacing:-.5px; line-height:1.25; }
.tv-single-category-page .tv-results-heading p { margin:0; color:var(--tv-muted); font-size:14px; overflow-wrap:anywhere; }
.tv-single-category-page .tv-results-heading strong { color:var(--tv-navy); }
.tv-single-category-page .tv-results-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.tv-single-category-page .tv-result-card.single-listing { display:flex; gap:18px; margin:0; padding:18px; min-width:0; border:1px solid var(--tv-border); border-radius:14px; box-shadow:0 3px 12px rgba(7,21,64,.04); background:#fff; }
.tv-single-category-page .tv-result-card:hover { border-color:#bdcff0; box-shadow:0 6px 20px rgba(7,21,64,.07); }
.tv-single-category-page .tv-result-image-link { width:128px; flex-shrink:0; align-self:flex-start; }
.tv-single-category-page .tv-result-image { position:relative; width:100%; height:104px; border:1px solid var(--tv-border); border-radius:10px; overflow:hidden; background:#f5f8fc; }
.tv-single-category-page .tv-result-image-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#91a6c8; }
.tv-single-category-page .tv-result-image-fallback svg { width:32px; height:32px; }
.tv-single-category-page .tv-result-image img.listing-image { position:relative; display:block; width:100%; height:100%; object-fit:contain; background:#fff; }
.tv-single-category-page .tv-result-image img[hidden] { display:none!important; }
.tv-single-category-page .tv-result-body { min-width:0; flex:1; display:flex; flex-direction:column; align-items:flex-start; }
.tv-single-category-page .tv-result-card .title { font-size:17px; font-weight:700; line-height:1.35; margin:0 0 8px; overflow-wrap:anywhere; }
.tv-single-category-page .tv-result-card .title a { color:var(--tv-navy); }
.tv-single-category-page .tv-result-card .title a:hover { color:var(--tv-blue); }
.tv-single-category-page .tv-result-category { font-size:12px; color:var(--tv-blue); margin:0 0 8px; overflow-wrap:anywhere; }
.tv-single-category-page .tv-result-card .listing-location { display:flex; gap:6px; align-items:flex-start; color:var(--tv-muted); font-size:12px; line-height:1.5; margin:0 0 10px; overflow-wrap:anywhere; }
.tv-single-category-page .tv-result-card .listing-location svg { width:16px; height:16px; flex-shrink:0; }
.tv-single-category-page .tv-result-card .listing-description { font-size:13px; line-height:1.6; color:var(--tv-muted); margin:0 0 14px; overflow-wrap:anywhere; }
.tv-single-category-page .tv-result-card .view-listing-btn { margin-top:auto; padding:9px 12px; border:1px solid var(--tv-border); border-radius:8px; background:#f2f7ff; color:var(--tv-blue); font-size:12px; font-weight:600; white-space:normal; text-align:left; }
.tv-single-category-page .tv-result-card .view-listing-btn:hover { background:#e5f0ff; border-color:#bdcff0; }
.tv-single-category-page .tv-results-empty { padding:36px 20px; background:#f8fbff; border:1px solid var(--tv-border); border-radius:14px; text-align:center; }
.tv-single-category-page .tv-results-empty-icon { display:flex; align-items:center; justify-content:center; width:54px; height:54px; margin:0 auto 14px; border-radius:16px; background:#fff4c0; color:var(--tv-navy); }
.tv-single-category-page .tv-results-empty h2 { font-size:20px; font-weight:700; }
.tv-single-category-page .tv-results-empty p { color:var(--tv-muted); font-size:14px; }
.tv-single-category-page .tv-results-retry { background:var(--tv-yellow); color:var(--tv-navy); font-size:13px; font-weight:700; border-radius:8px; }
.tv-single-category-page footer.bg-dark { background:#f8faff!important; padding:22px 0!important; border-top:1px solid var(--tv-border); }
.tv-single-category-page footer .calendar { display:flex; align-items:center; justify-content:center; gap:5px; width:auto; height:auto; margin:0 0 8px; background:transparent; border-radius:0; box-shadow:none; }
.tv-single-category-page footer .month,.tv-single-category-page footer .dayofmonth,.tv-single-category-page footer .dayofweekend { height:auto; padding:0; background:transparent; border:0; }
.tv-single-category-page footer .month { order:3; }
.tv-single-category-page footer .dayofmonth { order:2; }
.tv-single-category-page footer .dayofweekend { order:1; }
.tv-single-category-page footer .calendar p,.tv-single-category-page footer .text-white { margin:0; font-size:12px; font-weight:400; color:var(--tv-muted)!important; }
.tv-single-category-page a:focus-visible,.tv-single-category-page button:focus-visible,.tv-single-category-page input:focus-visible { outline:3px solid var(--tv-blue); outline-offset:2px; }
@media(min-width:768px) {
 .tv-single-category-page .tv-results-search .main-search-form { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 150px; gap:0; }
 .tv-single-category-page .tv-search-field { border-bottom:0; border-right:1px solid var(--tv-border); }
 .tv-single-category-page .main-search-btn { margin-left:6px; width:calc(100% - 6px); }
}
@media(min-width:992px) {
 .tv-single-category-page .tv-results-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:575.98px) {
 .tv-single-category-page { padding-top:60px; }
 .tv-single-category-page .tv-search-main.main-container { padding-top:18px; padding-bottom:24px; }
 .tv-single-category-page .tv-results-heading h1 { font-size:23px; }
 .tv-single-category-page .tv-results-heading { margin:22px 0 18px; }
 .tv-single-category-page .tv-results-grid { gap:14px; }
 .tv-single-category-page .tv-result-card.single-listing { padding:14px; gap:12px; }
 .tv-single-category-page .tv-result-image-link { width:88px; }
 .tv-single-category-page .tv-result-image { height:80px; }
 .tv-single-category-page .tv-result-card .title { font-size:15px; }
}
@media(max-width:359.98px) {
 .tv-single-category-page .tv-result-card.single-listing { flex-direction:column; }
 .tv-single-category-page .tv-result-image-link { width:110px; }
}

/* Search cards: keep the description full-width on small screens. */
.tv-single-category-page .tv-result-card .title { border-bottom:0; }
@media(max-width:575.98px) {
 .tv-single-category-page .tv-result-card.single-listing { display:grid; grid-template-columns:88px minmax(0,1fr); gap:8px 12px; }
 .tv-single-category-page .tv-result-image-link { width:88px; grid-column:1; grid-row:1 / span 3; }
 .tv-single-category-page .tv-result-body { display:contents; }
 .tv-single-category-page .tv-result-card .title { grid-column:2; margin:0; }
 .tv-single-category-page .tv-result-category { grid-column:2; margin:0; }
 .tv-single-category-page .tv-result-card .listing-location { grid-column:2; margin:0; }
 .tv-single-category-page .tv-result-card .listing-description { grid-column:1 / -1; margin:6px 0 0; }
 .tv-single-category-page .tv-result-card .view-listing-btn { grid-column:1 / -1; justify-self:start; margin-top:6px; }
}

/* Search v1 review: compact desktop results and image cards for suggestions. */
.tv-single-category-page .tv-result-card .view-listing-btn { background:var(--tv-navy); border-color:var(--tv-navy); color:#fff; transition:background-color .15s ease,border-color .15s ease; }
.tv-single-category-page .tv-result-card .view-listing-btn:hover { background:#152a5d; border-color:#152a5d; color:#fff; }
@media(min-width:768px) {
}
@media(min-width:992px) {
 .tv-single-category-page .tv-results-grid { gap:16px; align-items:start; }
 .tv-single-category-page .tv-results-grid .tv-result-card.single-listing { padding:16px; gap:14px; }
 .tv-single-category-page .tv-results-grid .tv-result-image-link { width:112px; }
 .tv-single-category-page .tv-results-grid .tv-result-image { height:92px; }
 .tv-single-category-page .tv-results-grid .title { margin-bottom:6px; }
 .tv-single-category-page .tv-results-grid .tv-result-category { margin-bottom:6px; }
 .tv-single-category-page .tv-results-grid .listing-location { margin-bottom:8px; }
 .tv-single-category-page .tv-results-grid .listing-description { line-height:1.5; margin-bottom:10px; }
 .tv-single-category-page .tv-results-grid .view-listing-btn { margin-top:0; padding:8px 12px; }
}
@media(max-width:575.98px) {
}


.tv-single-category-page .tv-subcategory-modal .modal-dialog { max-width:760px; margin:24px auto; padding:0 12px; min-height:calc(100% - 48px); }
.tv-single-category-page .tv-subcategory-modal .modal-content { max-height:calc(100vh - 48px); border:1px solid var(--tv-border); border-radius:16px; box-shadow:0 20px 70px rgba(7,21,64,.22); overflow:hidden; }
.tv-single-category-page .tv-subcategory-modal .modal-header { align-items:center; padding:20px 24px; border-bottom:1px solid var(--tv-border); flex-shrink:0; }
.tv-single-category-page .tv-subcategory-modal .modal-title { font-size:20px; font-weight:700; overflow-wrap:anywhere; }
.tv-single-category-page .tv-subcategory-modal .close { opacity:1; color:var(--tv-navy); }
.tv-single-category-page .tv-modal-search { padding:16px 24px 8px; flex-shrink:0; }
.tv-single-category-page .tv-modal-search label { display:block; font-size:13px; font-weight:600; }
.tv-single-category-page .tv-modal-search input { width:100%; height:44px; padding:10px 12px; border:1px solid var(--tv-border); border-radius:9px; color:var(--tv-navy); }
.tv-single-category-page .tv-subcategory-modal .modal-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:8px 24px 16px; }
.tv-single-category-page .tv-subcategory-modal .sub-categories-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 14px; }
.tv-single-category-page .tv-subcategory-modal .single-sub-category a { border:1px solid var(--tv-border); padding:12px; height:100%; }
.tv-single-category-page .tv-subcategory-modal .modal-footer { flex-shrink:0; justify-content:space-between; padding:14px 24px; border-top:1px solid var(--tv-border); gap:10px; }
.tv-single-category-page .tv-modal-parent { color:var(--tv-blue); font-size:13px; font-weight:600; }
.tv-single-category-page .tv-modal-close { background:var(--tv-yellow); color:var(--tv-navy); border-radius:8px; font-weight:600; }
.tv-single-category-page .tv-modal-empty { color:var(--tv-muted); font-size:14px; }
@media(min-width:768px) {
}
@media(max-width:575.98px) {
 .tv-single-category-page .tv-subcategory-modal .modal-dialog { margin:8px auto; padding:0 8px; min-height:calc(100% - 16px); }
 .tv-single-category-page .tv-subcategory-modal .modal-content { height:calc(100vh - 16px); max-height:calc(100vh - 16px); border-radius:12px; }
 .tv-single-category-page .tv-subcategory-modal .modal-header { padding:16px; }
 .tv-single-category-page .tv-subcategory-modal .modal-title { font-size:17px; }
 .tv-single-category-page .tv-modal-search { padding:14px 16px 8px; }
 .tv-single-category-page .tv-subcategory-modal .modal-body { padding:8px 16px 16px; }
 .tv-single-category-page .tv-subcategory-modal .sub-categories-list { grid-template-columns:minmax(0,1fr); }
 .tv-single-category-page .tv-subcategory-modal .modal-footer { padding:12px 16px; }
}
.tv-single-category-page .tv-single-category-breadcrumb { margin:0 0 20px; color:var(--tv-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.tv-single-category-page .cat-breadcrumb { margin:0; }
.tv-single-category-page .cat-breadcrumb a { color:var(--tv-muted); }
.tv-single-category-page .tv-single-category-heading { display:flex; align-items:center; gap:14px; }
.tv-single-category-page .tv-single-category-heading h1 { margin:0; min-width:0; overflow-wrap:anywhere; }
.tv-single-category-page .tv-single-category-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex-shrink:0; border-radius:14px; background:#fff6d7; color:var(--tv-navy); }
.tv-single-category-page .tv-single-category-children { border:1px solid var(--tv-border); border-radius:14px; padding:20px; box-shadow:0 3px 12px rgba(7,21,64,.04); }
.tv-single-category-page .tv-single-category-children h2 { font-size:19px; font-weight:700; margin:0 0 16px; }
.tv-single-category-page .tv-subcategory-chips { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin:0; padding:0; list-style:none; }
.tv-single-category-page .tv-subcategory-chips a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; min-height:44px; height:100%; border:1px solid var(--tv-border); border-radius:9px; color:var(--tv-navy); font-size:13px; overflow-wrap:anywhere; }
.tv-single-category-page .tv-subcategory-chips a:hover { border-color:#bdcff0; background:#f0f6ff; }
.tv-single-category-page .tv-show-subcategories { background:var(--tv-yellow); color:var(--tv-navy); border-radius:9px; font-size:13px; font-weight:600; margin-top:18px; min-height:44px; white-space:normal; }
.tv-single-category-page .tv-subcategory-modal .sub-categories-list { margin:0; padding:6px 0; list-style:none; }
.tv-single-category-page .tv-subcategory-modal .single-sub-category a { display:block; padding:12px; border:1px solid var(--tv-border); border-radius:7px; height:100%; color:var(--tv-navy); font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
.tv-single-category-page .tv-subcategory-modal .single-sub-category a:hover { background:#eef5ff; color:var(--tv-blue); }
.tv-single-category-page [hidden] { display:none!important; }
@media(min-width:600px) {
 .tv-single-category-page .tv-subcategory-chips { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:992px) {
 .tv-single-category-page .tv-subcategory-chips { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:575.98px) {
 .tv-single-category-page .tv-single-category-icon { width:44px; height:44px; }
 .tv-single-category-page .tv-single-category-children { padding:16px; }
 .tv-single-category-page .tv-show-subcategories { width:100%; }
}

/* Shared Modern & Friendly navigation: click-driven mega menu / mobile accordion. */
.tv-header .tv-category-nav-item,.tv-header .menu-dropdown { position:static; }
.tv-header .tv-category-toggle { display:flex; align-items:center; justify-content:space-between; gap:8px; width:auto; height:auto; min-height:44px; border:0; border-radius:8px; background:transparent; font-family:inherit; cursor:pointer; }
.tv-header .tv-category-toggle[aria-expanded="true"] { color:var(--tv-blue)!important; background:#f0f6ff; }
.tv-header .tv-category-toggle[aria-expanded="true"]>svg { transform:rotate(180deg); }
.tv-header .tv-mega-menu { top:calc(100% + 6px); left:50%; transform:translateX(-50%); width:calc(100% - 30px); max-width:1110px; min-width:0; max-height:none; overflow:visible; padding:18px; background:#fff; border:1px solid var(--tv-border); border-radius:14px; box-shadow:0 14px 36px rgba(7,21,64,.14); }
.tv-header .tv-mega-menu.collapse:not(.show) { display:none!important; }
.tv-header .tv-mega-menu.show { display:block!important; }
.tv-header .tv-mega-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.tv-header .tv-mega-title { color:var(--tv-navy); font-size:16px; font-weight:700; }
.tv-header .tv-nav-filter { width:280px; }
.tv-header .tv-nav-filter input { width:100%; height:44px; border:1px solid var(--tv-border); border-radius:9px; padding:10px 12px; font-size:13px; color:var(--tv-navy); }
.tv-header .tv-nav-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.tv-header .tv-nav-category { display:flex; align-items:center; gap:10px; min-height:52px; margin:0; padding:9px!important; border-radius:9px; color:var(--tv-navy); font-size:12px; line-height:1.4; white-space:normal; }
.tv-header .tv-nav-category>span:last-child { min-width:0; overflow-wrap:anywhere; }
.tv-header .tv-nav-category:hover { background:#f0f6ff; }
.tv-header .tv-nav-icon { display:flex; align-items:center; justify-content:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; background:#eef5ff; color:var(--tv-blue); }
.tv-header .tv-nav-icon svg { width:21px; height:21px; }
.tv-header .tv-nav-icon-leaf,.tv-header .tv-nav-icon-home { color:#159c4d; background:#edf9f1; }
.tv-header .tv-nav-icon-bag,.tv-header .tv-nav-icon-tools,.tv-header .tv-nav-icon-gear { color:#ed9500; background:#fff8eb; }
.tv-header .tv-nav-icon-beauty,.tv-header .tv-nav-icon-music { color:#ec469c; background:#fff1f8; }
.tv-header .tv-nav-icon-health { color:#f23e65; background:#fff0f3; }
.tv-header .tv-nav-icon-food,.tv-header .tv-nav-icon-church { color:#653ad7; background:#f5f1ff; }
.tv-header .tv-nav-all-categories { display:block; margin-top:14px; padding:12px!important; border-top:1px solid var(--tv-border); color:var(--tv-blue)!important; font-size:13px; font-weight:600; }
.tv-header .tv-nav-no-results,.tv-header .tv-nav-loading { padding:12px; margin:0; color:var(--tv-muted); font-size:13px; }
.tv-header [hidden] { display:none!important; }
.tv-header input:focus-visible,.tv-header .tv-nav-category:focus-visible { outline:3px solid var(--tv-blue); outline-offset:1px; }
@media(min-width:992px) {
 .tv-header .menu-dropdown { display:block; }
 .tv-header .tv-mega-menu { position:absolute; }
 .tv-header .tv-nav-category-grid { max-height:calc(100vh - 230px); overflow-y:auto; }
}
@media(min-width:1200px) {
 .tv-header .tv-nav-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:991.98px) {
 .tv-header #navbarResponsive { max-height:calc(100vh - 76px); overflow-y:auto; }
 .tv-header .menu-dropdown { display:block; }
 .tv-header .tv-category-toggle { width:100%; text-align:left; }
 .tv-header .tv-mega-menu { position:static; transform:none; width:100%; margin:4px 0 8px; padding:12px; box-shadow:none; }
 .tv-header .tv-mega-heading { display:block; margin-bottom:10px; }
 .tv-header .tv-mega-title { display:none; }
 .tv-header .tv-nav-filter { width:100%; }
 .tv-header .tv-nav-category-grid { grid-template-columns:minmax(0,1fr); max-height:min(32vh,260px); overflow-y:auto; overscroll-behavior:contain; }
 .tv-header .tv-nav-category { min-height:48px; }
 .tv-header .tv-nav-all-categories { margin-top:10px; }
}

@media(max-width:991.98px) {
 .tv-header .tv-search-link { display:none; }
}
