
@font-face{font-family:'Kumbh Sans';font-style:normal;font-weight:300;src:local('Kumbh Sans Light'),local('KumbhSans-Light'),url('/assets/fonts/kumbh-sans-v22-latin-300.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Kumbh Sans';font-style:normal;font-weight:600;src:local('Kumbh Sans SemiBold'),local('KumbhSans-SemiBold'),url('/assets/fonts/kumbh-sans-v22-latin-600.woff2') format('woff2');font-display:swap}

:root{
  --color-primary:#3b82f6;--color-primary-dark:#1e40af;--color-primary-light:#93c5fd;--color-primary-glare:#93c5fd;
  --color-secondary:#10b981;--color-secondary-dark:#047857;--color-secondary-shade:#047857;--color-secondary-light:#6ee7b7;--color-secondary-glare:#6ee7b7;
  --color-accent:#ef4444;--color-text:#2d3748;--color-dark:#2d3748;--color-text-light:#6b7280;--color-dark-glare:#6b7280;
  --color-text-dark:#111827;--color-text-white:#ffffff;--color-light-shade:#ffffff;
  --color-bg:rgb(244 244 245 / 1);--color-mid:#f5f3c875;
  --color-bg-card:#ffffff;--color-bg-dark:#111827;--color-bg-footer:#111827;--color-bg-footer-light:#1f2937;
  --color-border:#e5e7eb;--color-border-dark:#d1d5db;
  --font-family:'Kumbh Sans','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
  --fs-300:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--fs-400:clamp(0.875rem,0.8rem + 0.375vw,1rem);
  --fs-500:clamp(1rem,0.925rem + 0.375vw,1.125rem);--fs-600:clamp(1.125rem,1rem + 0.625vw,1.25rem);
  --fs-700:clamp(1.25rem,1.125rem + 0.625vw,1.5rem);--fs-800:clamp(1.5rem,1.25rem + 1.25vw,2rem);
  --fs-900:clamp(1.75rem,1.5rem + 1.25vw,2.5rem);--fs-hero:clamp(2rem,1.75rem + 1.25vw,2.625rem);
  --fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;
  --space-xs:clamp(0.5rem,0.4rem + 0.5vw,0.75rem);--space-sm:clamp(0.75rem,0.6rem + 0.75vw,1.25rem);
  --space-md:clamp(1rem,0.8rem + 1vw,1.5rem);--space-lg:clamp(1.5rem,1.2rem + 1.5vw,2.5rem);
  --space-xl:clamp(2rem,1.6rem + 2vw,3.5rem);--space-xxl:clamp(3rem,2.4rem + 3vw,5rem);
  --radius-sm:5px;--radius-md:8px;--radius-lg:10px;--radius-full:9999px;
  --shadow-sm:0 2px 10px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.05);--shadow-lg:0 10px 15px rgba(0,0,0,0.1);
  --content-max-width:75ch;--container-max-width:960px;--container-padding:clamp(1rem,3vw,2rem);
  --transition-fast:150ms ease;--transition-normal:300ms ease;--transition-slow:500ms ease;
  font-family:'Kumbh Sans',Arial,sans-serif;
}

*,::after,::before{box-sizing:border-box}
blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}
html:focus-within{scroll-behavior:smooth}
img,picture{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden;width:100%;min-width:220px}
a{text-decoration:none;color:inherit;transition:color var(--transition-normal)}
main{flex:auto}
h1,h2,h3,h4,h5,h6{line-height:1.2;color:var(--color-text-dark);font-weight:var(--fw-bold)}
h1{font-size:var(--fs-hero);font-weight:var(--fw-extrabold)}
h2{font-size:var(--fs-800);margin-bottom:var(--space-sm)}
h3{font-size:var(--fs-700);margin-bottom:var(--space-xs)}
p{max-width:var(--content-max-width);margin-bottom:var(--space-md)}
button{cursor:pointer;border:none;background:none;font-family:inherit}
ul{list-style:none;margin:0;padding:0}
img,video{border-radius:.5rem}
/* logos inside chrome/cards must not inherit the global img radius/margins */
.logo img,.footer-icon-img,.cat-page-coupon-logo img,.cat-page-h-coupon-logo img,.tj-rank-logo img,.tj-rec-logo img{border-radius:0;margin:0}

.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}

/* ===== Header / nav (verbatim) ===== */
.main-nav{display:flex;align-items:center;justify-content:space-between;padding:0.5rem 1rem;width:100%;max-width:100%;box-sizing:border-box;background:#fff;border-bottom:1px solid var(--color-border)}
.custom-logo-link{display:block}
.logo img{height:auto;width:auto;max-height:40px;max-width:100%;display:block;box-shadow:none;border:none;margin-right:1rem;margin-bottom:0.5rem}
.menu{display:flex;flex:1;justify-content:flex-end;align-items:center;gap:.25rem;margin:0;padding:0;max-width:100%}
.menu li{position:relative;list-style:none}
.menu li a{display:block;padding:0.5rem 1.2rem;font-weight:600;font-size:clamp(0.88rem,0.83rem + 0.24vw,1rem);text-align:left;text-decoration:underline;text-decoration-thickness:0.02rem;text-underline-offset:0.2rem;text-decoration-color:var(--color-secondary)}
.menu li a:hover{color:var(--color-secondary)}
.menu li ul{display:none;position:absolute;top:100%;left:0;list-style:none;padding:0;margin:0;background:var(--color-light-shade);border-radius:0.5rem;min-width:11rem;z-index:99;border:0.02rem solid var(--color-dark)}
.menu li ul li a{text-decoration:none}
.menu li:hover>ul{display:block}
.menu li.menu-item-has-children>a::after{content:'↓';margin-left:0.1rem;color:var(--color-secondary)}
.menu-toggle{display:none}
.menu-icon{display:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;width:30px;height:30px}
.menu-icon span{width:25px;height:3px;background:#333;margin:4px 0;transition:transform .1s,opacity .1s}
@media (max-width:991px){
  .main-nav{padding:0 1rem;position:relative}
  .menu{display:none;flex-direction:column;width:100%;background:#fff;position:absolute;top:100%;right:0;box-shadow:0 2px 10px rgba(0,0,0,0.1);z-index:50}
  .menu li{text-align:left}
  .menu li a{width:100%;padding:1rem}
  .menu li ul{position:static}
  .menu-toggle:checked + .menu-icon + .menu{display:flex}
  .menu-icon{display:flex}
  .menu-toggle:checked + .menu-icon span:nth-child(1){transform:rotate(45deg) translate(9px,5px)}
  .menu-toggle:checked + .menu-icon span:nth-child(2){opacity:0}
  .menu-toggle:checked + .menu-icon span:nth-child(3){transform:rotate(-45deg) translate(9px,-5px)}
}

/* ===== Footer (verbatim) ===== */
.footer{background-color:var(--color-bg-footer);color:var(--color-text-white);padding:var(--space-xl) 0 var(--space-lg)}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}
.footer-icon{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;transition:all .3s ease}
.footer-icon-img{width:48px;height:48px;display:block;margin:0}
.footer-brand-text{font-size:var(--fs-700);font-weight:var(--fw-extrabold);color:var(--color-light-shade)}
.footer-brand-text span{color:var(--color-secondary)}
.footer-about{color:#9ca3af;margin-bottom:var(--space-md)}
.social-icons{display:flex;gap:var(--space-sm)}
.social-icons a{width:40px;height:40px;border-radius:50%;background-color:var(--color-bg-footer-light);display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-normal)}
.social-icons a:hover{background-color:var(--color-primary)}
.footer-heading,.footer-column h3{font-size:var(--fs-600);margin-bottom:var(--space-md);color:#fff}
.footer-heading a{color:#fff}
.footer-links li{margin-bottom:var(--space-xs)}
.footer-links a{color:#9ca3af;transition:color var(--transition-normal)}
.footer-links a:hover{color:var(--color-primary)}
.footer-bottom{border-top:1px solid var(--color-bg-footer-light);padding-top:var(--space-lg);text-align:center;color:#6b7280;font-size:var(--fs-400)}
.footer-bottom p{max-width:none;margin-left:auto;margin-right:auto}
@media (max-width:768px){.footer-top{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer-top{grid-template-columns:1fr}}

/* ===== Hero (verbatim) ===== */
.cat-page-hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:#fff;padding:var(--space-xl) 0}
.cat-page-hero-content{text-align:center}
.cat-page-hero-title{font-size:var(--fs-hero);font-weight:var(--fw-bold);color:#fff;margin-bottom:var(--space-sm)}
.cat-page-breadcrumbs{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-xs);color:rgba(255,255,255,0.8);font-size:var(--fs-400);margin-bottom:var(--space-sm)}
.cat-page-breadcrumbs a{color:rgba(255,255,255,0.9);text-decoration:none}
.cat-page-breadcrumbs a:hover{opacity:0.8;text-decoration:underline}
.cat-page-breadcrumbs .breadcrumb-separator{color:rgba(255,255,255,0.5);font-size:var(--fs-300)}
.cat-page-breadcrumbs .breadcrumb-current{color:#fff;font-weight:600}
.cat-page-hero-subtitle{text-align:center;color:rgba(255,255,255,0.9);font-size:var(--fs-500);margin:var(--space-sm) auto;max-width:640px}
.cat-page-hero-stats{text-align:center;color:rgba(255,255,255,0.95);font-size:var(--fs-500);margin-top:var(--space-sm);display:inline-flex;align-items:center;gap:var(--space-xs);background:rgba(255,255,255,0.15);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);backdrop-filter:blur(4px)}
.cat-page-hero-stats i{color:#fff}

/* ===== Coupons/listing section (verbatim) ===== */
.cat-page-coupons-section{padding:var(--space-xl) 0;background-color:var(--color-bg)}
.cat-page-subsection-title{font-size:var(--fs-800);font-weight:var(--fw-semibold);color:var(--color-text-dark);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-primary-light)}
.cat-page-coupon-badge{background-color:var(--color-primary-light);color:var(--color-primary-dark);font-size:var(--fs-300);font-weight:var(--fw-semibold);padding:0.25rem 0.5rem;border-radius:var(--radius-full)}
.cat-page-featured-label{position:absolute;top:0;left:0;background-color:var(--color-primary);color:#fff;font-size:var(--fs-300);font-weight:var(--fw-semibold);padding:0.25rem 0.75rem;border-bottom-right-radius:var(--radius-md);display:flex;align-items:center;gap:0.25rem;z-index:1}

/* ===== Methodology card (from .cat-page-bottom-content-section) ===== */
.cat-page-bottom-content-section{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md);max-width:900px;margin:0 auto;padding:var(--space-lg);background-color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.cat-page-bottom-content-section h2{font-size:var(--fs-700)}
.cat-page-bottom-content-section p{font-size:var(--fs-500);color:var(--color-text);line-height:1.7;max-width:none}

/* ===== FAQ (verbatim, normalized class names) ===== */
.cat-page-faq-section{padding:var(--space-xl) 0;background-color:var(--color-bg)}
.cat-page-faq-section h2{text-align:center;margin-bottom:var(--space-lg)}
.cat-page-faq-container{max-width:800px;margin:0 auto}
.cat-page-faq-item{border-bottom:1px solid var(--color-border)}
.cat-page-faq-question{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;cursor:pointer;width:100%;text-align:left}
.cat-page-faq-question h3{font-size:var(--fs-600);font-weight:var(--fw-medium);color:var(--color-text-dark);margin:0}
.cat-page-faq-toggle{color:var(--color-primary);font-size:var(--fs-500);transition:transform var(--transition-normal)}
.cat-page-faq-answer{padding:0;color:var(--color-text);font-size:var(--fs-500);max-height:0;overflow:hidden;transition:max-height var(--transition-normal),padding var(--transition-normal)}
.cat-page-faq-answer p{margin:0 0 var(--space-md);max-width:none}
.cat-page-faq-item.active .cat-page-faq-answer{max-height:600px;padding-bottom:var(--space-md)}
.cat-page-faq-item.active .cat-page-faq-toggle{transform:rotate(180deg)}

/* ===== Directory-specific components (tj-*), built on theme tokens ===== */
.tj-rec-card{position:relative;display:flex;gap:var(--space-md);align-items:center;background:#fff;border:2px solid var(--color-secondary);border-radius:var(--radius-lg);box-shadow:0 0 0 3px rgba(16,185,129,.12),var(--shadow-md);padding:var(--space-lg);padding-top:calc(var(--space-lg) + 0.5rem);margin-bottom:var(--space-lg)}
.tj-rec-label{position:absolute;top:0;left:0;background:var(--color-secondary);color:#fff;font-size:var(--fs-300);font-weight:var(--fw-bold);letter-spacing:.03em;text-transform:uppercase;padding:0.25rem 0.75rem;border-bottom-right-radius:var(--radius-md);display:flex;align-items:center;gap:0.3rem}
.tj-rec-logo{flex:0 0 96px;width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.tj-rec-logo img{max-width:84px;max-height:84px;object-fit:contain}
.tj-rec-body{flex:1 1 auto;min-width:0}
.tj-rec-body h2{font-size:var(--fs-700);margin-bottom:.25rem}
.tj-rec-sub{color:var(--color-text-light);font-size:var(--fs-400);margin:0 0 .5rem}
.tj-rec-cta{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;text-align:center}
@media (max-width:768px){.tj-rec-card{flex-direction:column;text-align:center}.tj-rec-body{text-align:center}.tj-rec-cta{width:100%}}

.tj-rank-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}
.tj-rank-row{display:flex;align-items:center;gap:var(--space-sm);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-sm) var(--space-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}
.tj-rank-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.tj-rank-num{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:var(--fw-bold);font-size:var(--fs-500);display:flex;align-items:center;justify-content:center}
.tj-rank-logo{flex:0 0 56px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.tj-rank-logo img{max-width:48px;max-height:48px;object-fit:contain}
.tj-rank-info{flex:1 1 auto;min-width:0}
.tj-rank-name{font-size:var(--fs-600);font-weight:var(--fw-bold);color:var(--color-text-dark);display:inline-block}
.tj-rank-name:hover{color:var(--color-primary)}
.tj-rank-offer{font-size:var(--fs-500);font-weight:var(--fw-bold);color:var(--color-text-dark);margin:.2rem 0 .45rem;max-width:52ch;line-height:1.35}
.tj-rec-offer{font-size:var(--fs-600);font-weight:var(--fw-bold);color:var(--color-text-dark);margin:.3rem 0 .55rem;max-width:none;line-height:1.4}
.tj-rank-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.1rem}
.tj-disc-badge{background:var(--color-secondary);color:#fff;font-weight:var(--fw-bold);font-size:var(--fs-300);padding:0.2rem 0.6rem;border-radius:var(--radius-full)}
.tj-disc-badge.tj-disc-none{background:var(--color-primary-light);color:var(--color-primary-dark)}
.tj-rank-count{color:var(--color-text-light);font-size:var(--fs-300)}
.tj-cta-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}
/* Coupon-ticket CTA */
.tj-coupon{display:inline-flex;align-items:stretch;border-radius:var(--radius-md);overflow:hidden;text-decoration:none;white-space:nowrap;border:1.5px dashed var(--color-secondary);background:#ecfdf5;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}
.tj-coupon:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.tj-coupon-code{display:flex;align-items:center;padding:0 .8rem;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-weight:700;color:var(--color-secondary-dark);letter-spacing:.08em;font-size:var(--fs-400)}
.tj-coupon-code.locked{filter:blur(5px);user-select:none;cursor:pointer}
.tj-coupon-go{display:flex;align-items:center;gap:.35rem;background:var(--color-secondary);color:#fff;font-weight:var(--fw-semibold);padding:.6rem 1rem;font-size:var(--fs-400)}
.tj-coupon.is-deal{border-style:solid;background:var(--color-secondary)}
.tj-coupon.tj-coupon-lg .tj-coupon-go{padding:.8rem 1.4rem;font-size:var(--fs-500)}
.tj-review-link{font-size:var(--fs-300);color:var(--color-primary);text-decoration:none}
.tj-review-link:hover{text-decoration:underline}
@media (max-width:768px){
  .tj-rank-row{flex-wrap:wrap}
  .tj-rank-info{flex:1 1 100%}
  .tj-cta-col{flex:1 1 100%;align-items:stretch;margin-top:.6rem}
  .tj-cta-col .tj-coupon{justify-content:center}
  .tj-cta-col .tj-coupon.is-deal .tj-coupon-go{justify-content:center}
}

.tj-more-wrap{overflow:hidden;max-height:0;transition:max-height .4s ease}
.tj-more-wrap.open{max-height:6000px}
.tj-show-more{text-align:center;margin:var(--space-md) 0 var(--space-lg)}
.tj-show-more-btn{display:inline-block;background:#fff;color:var(--color-primary);border:1px solid var(--color-primary);font-weight:var(--fw-semibold);padding:0.65rem 1.5rem;border-radius:var(--radius-full);transition:all var(--transition-normal)}
.tj-show-more-btn:hover{background:var(--color-primary);color:#fff}
.tj-internal-link{text-align:center;margin-top:var(--space-md);font-size:var(--fs-500)}
.tj-internal-link a{color:var(--color-primary);font-weight:var(--fw-semibold)}
.tj-internal-link a:hover{text-decoration:underline}
