/*
Theme Name: TradeNest
Theme URI: https://tradenest.ng
Author: TradeNest
Description: A modern marketplace theme for HivePress. Dark hero, featured slider, category grid, mobile bottom navigation.
Version: 1.23.9
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: tradenest
*/

:root{
  --tn-black:#080f0c;
  --tn-dark:#0d1612;
  --tn-dark-2:#15201b;
  --tn-red:#e4202b;
  --tn-red-dark:#c21821;
  --tn-green:#22c55e;
  --tn-green-dark:#16a34a;
  --tn-bg:#f5f6f8;
  --tn-card:#ffffff;
  --tn-text:#0f1720;
  --tn-muted:#6b7280;
  --tn-line:#e6e8ec;
  --tn-radius:14px;
  --tn-shadow:0 6px 22px rgba(15,23,32,.07);
  --tn-font:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --tn-display:'Sora','Manrope',system-ui,sans-serif;
  --tn-wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--tn-font);color:var(--tn-text);background:var(--tn-bg);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
svg.tn-i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.tn-wrap{width:100%;max-width:var(--tn-wrap);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;left:-9999px}
:focus-visible{outline:2px solid var(--tn-green);outline-offset:2px}

/* ---------- Header ---------- */
.tn-header{position:sticky;top:0;z-index:100;background:var(--tn-black);color:#fff;border-bottom:1px solid rgba(255,255,255,.06)}
.tn-header__bar{display:flex;align-items:center;gap:28px;height:68px}
.tn-logo{display:flex;align-items:center;gap:10px;font-weight:800;line-height:1.1}
.tn-logo__mark{width:34px;height:34px}
.tn-logo__name{font-size:20px;letter-spacing:-.3px;display:block}
.tn-logo__tag{font-size:9.5px;font-weight:500;color:#aab3ae;display:block}
.custom-logo{max-height:40px;width:auto}
.tn-nav{margin-left:8px;flex:1}
.tn-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:30px}
.tn-nav a{display:block;padding:24px 0;font-size:14px;font-weight:500;color:#e5e9e7;position:relative}
.tn-nav a:hover,.tn-nav .current-menu-item>a,.tn-nav .current_page_item>a{color:#fff}
.tn-nav .current-menu-item>a::after,.tn-nav .current_page_item>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--tn-red)}
.tn-header__tools{display:flex;align-items:center;gap:18px;margin-left:auto}
.tn-iconbtn{background:none;border:0;color:#fff;font-size:20px;position:relative;display:inline-flex;padding:4px}
.tn-badge{position:absolute;top:-4px;right:-6px;background:var(--tn-red);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:99px;display:grid;place-items:center;padding:0 4px}
.tn-user{position:relative}
.tn-avatar{width:32px;height:32px;border-radius:50%;background:var(--tn-green-dark);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center;border:0}
.tn-user__btn{display:flex;align-items:center;gap:6px;background:none;border:0;color:#fff}
.tn-user__menu{position:absolute;right:0;top:calc(100% + 12px);background:#fff;color:var(--tn-text);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.25);min-width:190px;padding:8px;display:none}
.tn-user.is-open .tn-user__menu{display:block}
.tn-user__menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14px}
.tn-user__menu a:hover{background:var(--tn-bg)}
.tn-login{font-size:14px;font-weight:600;background:var(--tn-red);padding:8px 16px;border-radius:99px}
.tn-menu-toggle,.tn-bell{display:none}
.tn-searchdrop{display:none;background:var(--tn-dark);border-top:1px solid rgba(255,255,255,.08);padding:14px 0}
.tn-searchdrop.is-open{display:block}

/* mobile drawer */
.tn-drawer{position:fixed;inset:0;z-index:200;visibility:hidden}
.tn-drawer__bg{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .25s}
.tn-drawer__panel{position:absolute;left:0;top:0;bottom:0;width:78%;max-width:320px;background:var(--tn-black);color:#fff;transform:translateX(-100%);transition:transform .25s;padding:20px;overflow:auto}
.tn-drawer.is-open{visibility:visible}
.tn-drawer.is-open .tn-drawer__bg{opacity:1}
.tn-drawer.is-open .tn-drawer__panel{transform:none}
.tn-drawer ul{list-style:none;margin:20px 0 0;padding:0}
.tn-drawer li a{display:block;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:500}

/* ---------- Hero ---------- */
.tn-hero{position:relative;color:#fff;background:
  radial-gradient(circle at 78% 28%,rgba(255,186,110,.22),transparent 32%),
  linear-gradient(115deg,#07100c 35%,#1b1712 100%);
  background-size:cover;background-position:center}
.tn-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,9,.92) 30%,rgba(6,12,9,.35) 100%)}
.tn-hero__in{position:relative;padding:64px 0 34px}
.tn-pill{display:inline-block;background:#0f3d24;color:#7ee2a5;border:1px solid rgba(34,197,94,.45);font-size:11px;font-weight:600;padding:5px 12px;border-radius:99px}
.tn-hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.08;letter-spacing:-1.2px;margin:18px 0 14px;font-weight:800;max-width:600px}
.tn-grad{background:linear-gradient(90deg,var(--tn-red),var(--tn-green));-webkit-background-clip:text;background-clip:text;color:transparent}
.tn-hero p{color:#cfd6d2;max-width:460px;margin:0 0 26px;font-size:15px}
.tn-quality{position:absolute;right:20px;top:56px;display:flex;gap:12px;align-items:center;background:rgba(20,30,25,.72);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);border-radius:12px;padding:12px 16px;font-size:12px;line-height:1.3}
.tn-quality .tn-i{font-size:26px;color:var(--tn-green)}
.tn-quality b{display:block;font-size:13px}

.tn-search{display:flex;align-items:center;background:#fff;border-radius:14px;padding:6px;max-width:640px;gap:6px;box-shadow:0 12px 34px rgba(0,0,0,.35)}
.tn-search__field{flex:1;display:flex;align-items:center;gap:10px;padding:0 12px;color:#8a929c;min-width:0}
.tn-search input[type=search],.tn-search input[type=text]{border:0;outline:0;width:100%;font:inherit;font-size:14px;color:var(--tn-text);background:transparent;padding:12px 0}
.tn-search select{border:0;border-left:1px solid var(--tn-line);background:transparent;font:inherit;font-size:14px;padding:12px 10px;color:var(--tn-text);max-width:170px}
.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--tn-red);color:#fff;border:0;font-weight:700;font-size:14px;padding:13px 24px;border-radius:10px;transition:background .15s}
.tn-btn:hover{background:var(--tn-red-dark)}
.tn-trust{position:relative;border-top:1px solid rgba(255,255,255,.1);background:rgba(4,9,7,.65)}
.tn-trust ul{list-style:none;margin:0;padding:14px 20px;display:flex;gap:34px;flex-wrap:wrap}
.tn-trust li{display:flex;align-items:center;gap:8px;font-size:12px;color:#dfe5e1}
.tn-trust .tn-i{color:var(--tn-green);font-size:16px}

/* ---------- Sections ---------- */
.tn-sec{padding:34px 0 8px}
.tn-sec__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.tn-sec__title{display:flex;align-items:center;gap:10px}
.tn-sec__title>.tn-i{font-size:26px;color:var(--tn-red)}
.tn-sec__title h2{margin:0;font-size:19px;font-weight:800;letter-spacing:-.3px}
.tn-sec__title small{display:block;color:var(--tn-muted);font-size:12px;font-weight:400}
.tn-viewall{font-size:12.5px;font-weight:600;color:var(--tn-red);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}

/* slider */
.tn-slider{position:relative}
.tn-slider__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}
.tn-slider__track::-webkit-scrollbar{display:none}
.tn-slider__track>*{flex:0 0 calc(25% - 12px);scroll-snap-align:start}
.tn-slider__nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:var(--tn-text);box-shadow:0 4px 16px rgba(0,0,0,.2);display:grid;place-items:center;font-size:18px;z-index:2}
.tn-slider__nav--prev{left:-14px}
.tn-slider__nav--next{right:-14px}
.tn-slider__dots{display:flex;justify-content:center;gap:7px;margin-top:16px}
.tn-slider__dots button{width:6px;height:6px;border-radius:50%;border:0;padding:0;background:#c9ced6}
.tn-slider__dots button.is-active{background:var(--tn-red);width:18px;border-radius:99px}

/* overlay card (featured) */
.tn-ocard{position:relative;display:block;border-radius:var(--tn-radius);overflow:hidden;aspect-ratio:4/4.6;background:var(--tn-dark-2);color:#fff}
.tn-ocard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tn-ocard:hover img{transform:scale(1.04)}
.tn-ocard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.88))}
.tn-ocard__body{position:absolute;left:14px;right:14px;bottom:14px;z-index:2}
.tn-ocard small{font-size:11px;color:#d0d6d3;display:block}
.tn-ocard h3{margin:2px 0 4px;font-size:15px;font-weight:700}
.tn-ocard .tn-price{color:#ff5a5f;font-size:15px}
.tn-ocard .tn-loc{color:#d0d6d3}
.tn-heart{position:absolute;right:12px;bottom:12px;z-index:3;background:none;border:0;color:#fff;font-size:18px;padding:4px}
.tn-heart.is-on{color:var(--tn-red)}
.tn-heart.is-on svg{fill:currentColor}
.tn-tag{position:absolute;left:10px;top:10px;z-index:3;color:#fff;font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:6px;background:var(--tn-red)}
.tn-tag--new{background:var(--tn-green-dark)}
.tn-tag--hot{background:#f59e0b}

/* categories */
.tn-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.tn-cat{background:#fff;border-radius:var(--tn-radius);padding:18px 10px;text-align:center;box-shadow:var(--tn-shadow);display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s}
.tn-cat:hover{transform:translateY(-3px)}
.tn-cat__img{width:64px;height:64px;border-radius:12px;background:#f0f3f2;display:grid;place-items:center;font-size:30px;color:var(--tn-red);overflow:hidden}
.tn-cat__img img{width:100%;height:100%;object-fit:cover}
.tn-cat b{font-size:13.5px}
.tn-cat span{font-size:11px;color:var(--tn-muted)}

/* standard card */
.tn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tn-card{background:#fff;border-radius:var(--tn-radius);overflow:hidden;box-shadow:var(--tn-shadow);position:relative;display:flex;flex-direction:column}
.tn-card__img{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#dfe4e2,#f1f3f2);overflow:hidden}
.tn-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tn-card:hover .tn-card__img img{transform:scale(1.05)}
.tn-card__body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px;flex:1}
.tn-card h3{margin:0;font-size:14px;font-weight:700;line-height:1.3}
.tn-card__cat{font-size:11.5px;color:var(--tn-muted)}
.tn-card__cat--red{color:var(--tn-red)}
.tn-price{color:var(--tn-red);font-weight:800;font-size:15px;margin-top:4px}
.tn-card__foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.tn-loc{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--tn-muted)}
.tn-card .tn-heart{position:static;color:#6b7280;padding:0}
.tn-views{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--tn-muted)}
.tn-views-badge{position:absolute;right:10px;top:10px;z-index:3;background:rgba(0,0,0,.6);color:#fff;font-size:10.5px;padding:3px 8px;border-radius:99px;display:flex;gap:4px;align-items:center}
.tn-empty{padding:30px;text-align:center;color:var(--tn-muted);background:#fff;border-radius:var(--tn-radius)}

/* newsletter */
.tn-news{margin:44px 0 40px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 85% 50%,rgba(228,32,43,.45),transparent 40%),linear-gradient(110deg,#07100c,#10201a);color:#fff;padding:30px 34px;display:flex;align-items:center;gap:22px;justify-content:space-between;flex-wrap:wrap}
.tn-news__l{display:flex;align-items:center;gap:16px;flex:1;min-width:260px}
.tn-news__ico{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-size:24px}
.tn-news h3{margin:0;font-size:18px}
.tn-news p{margin:2px 0 0;font-size:12.5px;color:#b9c3be}
.tn-news form{display:flex;gap:8px;flex:1;min-width:280px;max-width:460px}
.tn-news input[type=email]{flex:1;min-width:0;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:12px 14px;font:inherit;font-size:13px}
.tn-news input::placeholder{color:#8f9b95}
.tn-notice{background:#0f3d24;color:#7ee2a5;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:14px}

/* footer */
.tn-footer{background:var(--tn-black);color:#c9d1cd;padding:40px 0 22px;font-size:13px}
.tn-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:30px}
.tn-footer h4{margin:0 0 12px;color:#fff;font-size:13px}
.tn-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tn-footer a:hover{color:#fff}
.tn-social{display:flex;gap:14px;font-size:17px;color:#fff}
.tn-secure{display:flex;align-items:center;gap:10px;font-size:12px}
.tn-secure .tn-i{font-size:24px;color:var(--tn-green)}
.tn-secure small{display:block;color:#8f9b95}
.tn-copy{margin-top:22px;font-size:12px;color:#8f9b95}
.tn-top{position:fixed;right:22px;bottom:24px;width:40px;height:40px;border-radius:50%;background:var(--tn-red);color:#fff;border:0;display:grid;place-items:center;font-size:20px;box-shadow:0 8px 20px rgba(228,32,43,.4);z-index:80;opacity:0;pointer-events:none;transition:opacity .2s}
.tn-top.is-show{opacity:1;pointer-events:auto}

/* ---------- Mobile bottom navigation (mobile ONLY) ---------- */
.tn-bottomnav{display:none}

/* ---------- Inner pages ---------- */
.tn-page{padding:36px 0 50px}
.tn-page__title{font-size:30px;margin:0 0 18px;letter-spacing:-.5px}
.tn-page__content{background:#fff;border-radius:var(--tn-radius);padding:28px;box-shadow:var(--tn-shadow)}
.tn-pagehero{background:radial-gradient(circle at 80% 30%,rgba(255,186,110,.2),transparent 35%),linear-gradient(115deg,#07100c,#1b1712);color:#fff;padding:44px 0 40px}
.tn-pagehero h1{margin:0 0 6px;font-size:32px;letter-spacing:-.6px}
.tn-pagehero p{margin:0 0 20px;color:#cfd6d2}
.tn-cats--list{grid-template-columns:repeat(3,1fr)}
.tn-cats--list .tn-cat{flex-direction:row;text-align:left;padding:16px;gap:14px}
.tn-cats--list .tn-cat__txt{flex:1}
.tn-cats--list .tn-cat__txt b,.tn-cats--list .tn-cat__txt span{display:block}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .tn-slider__track>*{flex-basis:calc(33.333% - 11px)}
  .tn-cats{grid-template-columns:repeat(3,1fr)}
  .tn-grid{grid-template-columns:repeat(3,1fr)}
  .tn-footer__grid{grid-template-columns:1fr 1fr 1fr}
  .tn-quality{display:none}
}
@media (max-width:900px){
  .tn-nav,.tn-user--desk,.tn-header__tools .tn-searchtoggle{display:none}
  .tn-menu-toggle,.tn-bell{display:inline-flex}
  .tn-header__bar{gap:12px;height:60px}
  .tn-header .tn-logo{margin:0 auto 0 0}
  .tn-cats--list{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  body{padding-bottom:78px}
  .tn-wrap{padding:0 14px}
  .tn-hero__in{padding:34px 0 22px}
  .tn-hero p{font-size:13.5px}
  .tn-search{flex-wrap:wrap;padding:6px}
  .tn-search__field{flex:1 1 100%;background:#fff}
  .tn-search select{flex:1;border:1px solid var(--tn-line);border-radius:10px;max-width:none}
  .tn-search .tn-btn{padding:13px 18px}
  .tn-search .tn-btn span{display:none}
  .tn-trust ul{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 14px}
  .tn-trust li{flex-direction:column;text-align:center;gap:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 4px;font-size:10.5px}
  .tn-trust .tn-i{font-size:20px}
  .tn-slider__track>*{flex-basis:100%}
  .tn-slider__nav{width:30px;height:30px;background:var(--tn-red);color:#fff;font-size:15px}
  .tn-slider__nav--prev{left:8px}.tn-slider__nav--next{right:8px}
  .tn-ocard{aspect-ratio:4/3.4}
  .tn-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .tn-cats{grid-template-columns:repeat(3,1fr);gap:10px}
  .tn-cat{padding:12px 6px}
  .tn-cat__img{width:52px;height:52px}
  .tn-footer__grid{grid-template-columns:1fr 1fr}
  .tn-news{padding:22px 18px}
  .tn-news form{max-width:none}
  .tn-top{display:none}
  .tn-cats--list{grid-template-columns:1fr}

  /* the "down buttons": visible only on mobile */
  .tn-bottomnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:150;background:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.12);padding:6px 6px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:flex-end}
  .tn-bottomnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--tn-muted);padding:6px 10px;flex:1}
  .tn-bottomnav a .tn-i{font-size:20px}
  .tn-bottomnav a.is-active{color:var(--tn-red)}
  .tn-bottomnav .tn-bottomnav__add{flex:0 0 auto;margin-top:-26px;padding:0}
  .tn-bottomnav__add span{width:52px;height:52px;border-radius:50%;background:var(--tn-red);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 8px 18px rgba(228,32,43,.45);border:4px solid #fff}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* =====================================================================
   v1.1 — fonts, glass, polish, HivePress single listing, vendor card
   ===================================================================== */

/* ---------- Fonts: one modern pair everywhere (titles → body) ---------- */
body,button,input,select,textarea{font-family:var(--tn-font)}
h1,h2,h3,h4,h5,h6,.tn-logo__name,.tn-price,.tn-cat b,.tn-ocard h3,.tn-card h3,.tn-page__title,.tn-pill{font-family:var(--tn-display)}
h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;line-height:1.2}
.hp-page :where(*:not(i):not([class*="fa-"]):not([class^="fa"]):not(svg):not(path)){font-family:var(--tn-font)!important}
.hp-page h1,.hp-page h2,.hp-page h3,.hp-page h4,.hp-page [class*="__title"],.hp-page [class*="__name"],.hp-page [class*="attribute--price"]{font-family:var(--tn-display)!important;letter-spacing:-.02em}
.hp-page h1,.hp-page .hp-listing__title,.hp-page .hp-page__title{font-size:clamp(24px,5.2vw,38px)!important;line-height:1.2!important;font-weight:700!important;color:var(--tn-text)}
.hp-page h2,.hp-page [class*="widget__title"],.hp-page [class*="section__title"]{font-size:clamp(20px,4.4vw,26px)!important;font-weight:700!important;margin:0 0 16px}
.hp-page p,.hp-page li,.hp-page [class*="__description"],.hp-page [class*="__content"]{font-size:15.5px;line-height:1.75;color:#3b4552}
.hp-page a{transition:color .15s}

/* ---------- Page ambience ---------- */
body{background:
  radial-gradient(760px 420px at 4% 18%,rgba(228,32,43,.07),transparent 65%),
  radial-gradient(820px 460px at 100% 42%,rgba(34,197,94,.09),transparent 65%),
  radial-gradient(700px 400px at 20% 92%,rgba(228,32,43,.05),transparent 65%),
  var(--tn-bg)}
.tn-sec{padding:40px 0 10px}
.tn-sec__title>.tn-i{width:42px;height:42px;padding:10px;border-radius:13px;background:linear-gradient(145deg,rgba(228,32,43,.14),rgba(228,32,43,.05));border:1px solid rgba(228,32,43,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.tn-sec__title h2{font-size:20px;font-weight:700}
.tn-viewall{padding:7px 14px;border-radius:99px;background:rgba(228,32,43,.07);border:1px solid rgba(228,32,43,.14);transition:background .2s,transform .2s}
.tn-viewall:hover{background:rgba(228,32,43,.13);transform:translateX(2px)}

/* ---------- Header / hero glass ---------- */
.tn-header{background:rgba(8,15,12,.84);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:0 8px 30px -12px rgba(0,0,0,.55)}
.admin-bar .tn-header{top:32px}
@media (max-width:782px){.admin-bar .tn-header{top:46px}}
@media (max-width:600px){.admin-bar .tn-header{top:0}}
.tn-header .custom-logo{border-radius:9px}
.tn-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 8% 105%,rgba(34,197,94,.20),transparent 70%),radial-gradient(420px 260px at 92% -10%,rgba(228,32,43,.18),transparent 70%)}
.tn-hero__in,.tn-trust{z-index:1}
.tn-pill{background:rgba(34,197,94,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#86efac;border-color:rgba(134,239,172,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.tn-search{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 44px -12px rgba(0,0,0,.5),0 0 0 6px rgba(255,255,255,.08)}
.tn-quality,.tn-trust{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.tn-trust li{transition:transform .2s}

/* ---------- Glass buttons ---------- */
.tn-btn,.tn-login,.hp-button--primary,.button--primary,.hp-form__button.hp-button,button.hp-button[type=submit],input[type=submit].hp-button,.hp-listing__action--message,a.hp-button--primary,.tn-top{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,rgba(255,112,117,.94) 0%,rgba(232,38,48,.95) 52%,rgba(190,18,30,.97) 100%)!important;
  border:1px solid rgba(255,255,255,.42)!important;color:#fff!important;
  border-radius:14px!important;text-shadow:0 1px 1px rgba(90,0,8,.35);
  -webkit-backdrop-filter:blur(10px) saturate(160%);backdrop-filter:blur(10px) saturate(160%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -10px 18px rgba(110,0,12,.22),0 12px 26px -10px rgba(228,32,43,.7)!important;
  transition:transform .18s ease,box-shadow .2s ease,filter .2s ease;
}
.tn-btn::before,.tn-login::before,.hp-button--primary::before,.button--primary::before,.hp-form__button.hp-button::before,button.hp-button[type=submit]::before,.hp-listing__action--message::before,a.hp-button--primary::before,.tn-top::before{
  content:"";position:absolute;left:5%;right:5%;top:2px;height:48%;z-index:-1;border-radius:12px 12px 60% 60%/12px 12px 22px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));pointer-events:none}
.tn-btn:hover,.tn-login:hover,.hp-button--primary:hover,.button--primary:hover,.hp-form__button.hp-button:hover,button.hp-button[type=submit]:hover,.hp-listing__action--message:hover,a.hp-button--primary:hover{
  transform:translateY(-2px);filter:brightness(1.07) saturate(1.05);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -10px 18px rgba(110,0,12,.2),0 18px 30px -10px rgba(228,32,43,.8)!important}
.tn-btn:active,.hp-button--primary:active,.button--primary:active{transform:translateY(0)}
.tn-btn{padding:13px 26px}
.hp-button--primary,.button--primary,.hp-listing__action--message,a.hp-button--primary{display:flex!important;align-items:center;justify-content:center;padding:15px 24px!important;font-weight:700!important;font-size:15px!important;width:100%}

/* secondary / frosted white glass buttons */
.hp-button:not(.hp-button--primary),.hp-button--secondary,.button:not(.button--primary),.hp-link--button,.hp-listing__action--favorite,.hp-listing__action--review,.hp-vendor__action{
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.55))!important;
  border:1px solid rgba(255,255,255,.9)!important;color:var(--tn-text)!important;border-radius:14px!important;
  -webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);
  box-shadow:inset 0 1px 0 #fff,0 8px 22px -10px rgba(15,23,32,.28)!important;transition:transform .18s,box-shadow .2s}
.hp-button:not(.hp-button--primary):hover,.hp-listing__action--favorite:hover,.hp-listing__action--review:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,0 14px 26px -10px rgba(15,23,32,.35)!important}
.hp-listing__action--favorite,.hp-listing__action--review{display:inline-flex!important;align-items:center;gap:8px;padding:11px 18px!important;font-weight:600}

/* WhatsApp (auto-tagged by main.js; also catches any wa.me / whatsapp link with text) */
.tn-wa,a[href*="wa.me"]:not(:empty),a[href*="api.whatsapp.com/send?phone"]{
  position:relative;overflow:hidden;isolation:isolate;display:inline-flex!important;align-items:center;gap:9px;
  padding:12px 22px!important;margin:6px 0!important;border-radius:14px!important;font-weight:700!important;font-size:15px!important;text-decoration:none!important;
  background:linear-gradient(180deg,rgba(74,231,132,.95) 0%,rgba(37,211,102,.96) 55%,rgba(18,168,80,.98) 100%)!important;
  color:#fff!important;border:1px solid rgba(255,255,255,.5)!important;text-shadow:0 1px 1px rgba(0,80,30,.35);
  -webkit-backdrop-filter:blur(10px) saturate(170%);backdrop-filter:blur(10px) saturate(170%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -10px 16px rgba(0,90,35,.2),0 12px 26px -10px rgba(18,168,80,.75)!important;
  transition:transform .18s,filter .2s}
.tn-wa::before{content:"";position:absolute;left:5%;right:5%;top:2px;height:48%;z-index:-1;border-radius:12px 12px 60% 60%/12px 12px 22px 22px;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,0))}
.tn-wa:hover{transform:translateY(-2px);filter:brightness(1.06)}
.tn-wa svg{width:20px;height:20px;fill:#fff;flex:none}
.tn-top{border-radius:50%!important;width:44px;height:44px}

/* ---------- Cards ---------- */
.tn-cat{background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 30px -14px rgba(15,23,32,.22),inset 0 1px 0 #fff;transition:transform .22s,box-shadow .22s,border-color .22s}
.tn-cat:hover{transform:translateY(-4px);border-color:rgba(228,32,43,.3);box-shadow:0 18px 36px -14px rgba(228,32,43,.32),inset 0 1px 0 #fff}
.tn-cat__img{background:linear-gradient(145deg,#fff,#eef3f0);box-shadow:inset 0 0 0 1px rgba(15,23,32,.05)}
.tn-card{border:1px solid rgba(15,23,32,.05);box-shadow:0 10px 30px -16px rgba(15,23,32,.22);transition:transform .22s,box-shadow .22s}
.tn-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px rgba(15,23,32,.34)}
.tn-card h3{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.tn-card__foot{margin-top:auto;padding-top:8px}
.tn-card__body{gap:3px}
.tn-price{white-space:nowrap;font-weight:800;letter-spacing:-.01em;overflow:visible}
.tn-card .tn-price{font-size:16.5px}
.tn-loc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tn-tag{background:rgba(228,32,43,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);box-shadow:0 6px 14px -4px rgba(228,32,43,.55)}
.tn-tag--new{background:rgba(22,163,74,.9);box-shadow:0 6px 14px -4px rgba(22,163,74,.55)}
.tn-tag--hot{background:rgba(245,158,11,.92);box-shadow:0 6px 14px -4px rgba(245,158,11,.55)}
.tn-ocard{box-shadow:0 20px 40px -18px rgba(0,0,0,.55)}
.tn-ocard__body{left:10px;right:10px;bottom:10px;padding:10px 44px 10px 12px;border-radius:14px;background:rgba(10,16,13,.38);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.16)}
.tn-ocard .tn-heart{right:20px;bottom:20px}
.tn-slider__nav{background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9)}
.tn-empty{border:1px dashed #d5dad8;background:rgba(255,255,255,.6)}

/* pagination (fixes overlap with the Trending heading) */
.tn-pager{clear:both;position:relative;margin:30px 0 14px}
.tn-pager ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;list-style:none;margin:0;padding:0;height:auto;min-width:0;border:0;background:none;box-shadow:none;border-radius:0}
.tn-pager ul.page-numbers>li{margin:0;padding:0;list-style:none;display:block}
.tn-pager li>.page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:600;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);box-shadow:0 6px 16px -8px rgba(15,23,32,.25);color:var(--tn-text);transition:transform .15s}
.tn-pager li>a.page-numbers:hover{transform:translateY(-2px);color:var(--tn-red)}
.tn-pager li>.page-numbers.current{background:linear-gradient(180deg,#ff6a70,#e4202b);color:#fff;border-color:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 20px -8px rgba(228,32,43,.7)}
.tn-pager li>.page-numbers.dots{background:none;border:0;box-shadow:none;min-width:20px;padding:0}

/* newsletter + footer */
.tn-news input[type=email]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.tn-news{box-shadow:0 26px 50px -24px rgba(0,0,0,.6)}
.tn-footer{background:linear-gradient(180deg,#0a1310,#060b09);border-top:1px solid rgba(255,255,255,.06)}

/* ---------- HivePress: layout + single listing ---------- */
.hp-page{max-width:var(--tn-wrap);margin:0 auto;padding:26px 16px 50px}
.hp-page .hp-page{padding:0;max-width:none}
.hp-listing--view-page{color:var(--tn-text)}
.hp-listing--view-block{background:#fff;border-radius:20px!important;overflow:hidden;box-shadow:0 14px 34px -18px rgba(15,23,32,.3);border:1px solid rgba(15,23,32,.05);transition:transform .22s}
.hp-listing--view-block:hover{transform:translateY(-3px)}
.hp-listing--view-block img,.hp-listing__images img,.hp-listing__image img{border-radius:18px}
.hp-listing__images,.hp-listing__images-carousel{border-radius:20px;overflow:hidden}
.hp-listing__images-carousel img{border-radius:14px}
.hp-listing__categories,.hp-listing__created-date{color:var(--tn-muted);font-size:14px}
.hp-listing__categories a{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(228,32,43,.08);color:var(--tn-red);font-weight:600;font-size:13px;text-decoration:none}
.hp-menu__item--current a,.hp-menu--tabbed .hp-menu__item--current a{color:var(--tn-red)!important;border-color:var(--tn-red)!important}
.hp-form__field input:focus,.hp-form__field textarea:focus,.hp-form__field select:focus{border-color:var(--tn-green)!important;box-shadow:0 0 0 4px rgba(34,197,94,.15)!important;outline:0}
.hp-form__field input,.hp-form__field textarea,.hp-form__field select{border-radius:12px!important}

/* attribute rows: clean, left aligned, light glass (was centred grey blocks) */
.hp-listing__attributes{display:grid;gap:8px;margin:14px 0}
.hp-listing__attribute,.hp-listing [class*="attribute--"]{
  text-align:left!important;background:rgba(255,255,255,.7)!important;border:1px solid rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;padding:12px 16px!important;
  margin:0!important;font-size:15px;color:#2b3440;box-shadow:0 6px 18px -12px rgba(15,23,32,.25)}
.hp-listing__attribute strong,.hp-listing__attribute b{font-family:var(--tn-display)!important;font-weight:700;color:var(--tn-text)}
.hp-listing__attribute--price,.hp-listing [class*="attribute--price"]{color:var(--tn-red)!important;font-size:20px!important;font-weight:800!important;background:linear-gradient(135deg,rgba(228,32,43,.09),rgba(255,255,255,.75))!important;border-color:rgba(228,32,43,.2)}
.hp-listing__attribute--price *,.hp-listing [class*="attribute--price"] *{color:var(--tn-red)!important}

/* ---------- Vendor profile card (class added by main.js, plus HivePress defaults) ---------- */
.tn-vendor,.hp-vendor--view-page{
  position:relative;overflow:hidden;text-align:center;margin:26px 0;padding:0 22px 26px!important;
  background:linear-gradient(165deg,#ffffff 0%,#f3f8f5 58%,#fdf2f3 100%)!important;
  border:1px solid rgba(255,255,255,.95)!important;border-radius:26px!important;
  box-shadow:0 26px 56px -26px rgba(15,23,32,.32),inset 0 1px 0 #fff!important}
.tn-vendor::before{content:"";display:block;height:96px;margin:0 -22px 0;background:
  radial-gradient(160px 90px at 15% 20%,rgba(228,32,43,.28),transparent 70%),
  radial-gradient(180px 100px at 90% 30%,rgba(34,197,94,.3),transparent 70%),
  linear-gradient(120deg,rgba(228,32,43,.12),rgba(34,197,94,.14))}
.tn-vendor [class*="__image"]{width:auto!important;max-width:none!important;height:auto!important;padding:0!important;margin:-56px auto 0!important;background:none!important;float:none!important;display:block}
.tn-vendor img{width:112px!important;height:112px!important;max-width:112px;border-radius:50%!important;object-fit:cover;margin:0 auto 14px!important;display:block;border:4px solid #fff;box-shadow:0 12px 28px -6px rgba(15,23,32,.35),0 0 0 3px rgba(34,197,94,.4)}
.tn-vendor [class*="__name"]{font-family:var(--tn-display)!important;font-size:22px!important;font-weight:700!important;margin:4px 0 8px!important;color:var(--tn-text);display:flex;align-items:center;justify-content:center;gap:8px}
.tn-vendor [class*="__location"],.tn-vendor [class*="__details"] [class*="location"]{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:99px;background:rgba(255,255,255,.85);border:1px solid #e8ecea;font-size:14px;font-weight:600;color:#2b3440;box-shadow:0 6px 16px -10px rgba(15,23,32,.3)}
.tn-vendor [class*="__date"],.tn-vendor [class*="__details"]{color:var(--tn-muted);font-size:13.5px;margin-top:10px}
.tn-vendor [class*="__summary"],.tn-vendor [class*="__description"]{font-size:14px;color:#4b5563}
.tn-vendor [class*="__actions"]{display:flex!important;justify-content:center;gap:10px;margin-top:16px}
.tn-vendor [class*="__action"]{display:inline-grid!important;place-items:center;width:46px;height:46px;padding:0!important;border-radius:50%!important}
.tn-vendor [class*="__action"] i,.tn-vendor [class*="__action"] svg{margin:0}

/* Related listings */
.hp-page [class*="listings"] [class*="widget__title"]{margin-top:30px}

/* ---------- Mobile polish ---------- */
@media (max-width:768px){
  .tn-bottomnav{background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(255,255,255,.9);border-radius:22px 22px 0 0}
  .tn-bottomnav__add span{background:linear-gradient(180deg,#ff6f75,#e4202b 60%,#bd131e);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 22px -6px rgba(228,32,43,.65)}
  .tn-card h3{font-size:13.5px}
  .tn-card .tn-price{font-size:15px}
  .tn-slider__nav{background:linear-gradient(180deg,rgba(255,112,117,.95),rgba(228,32,43,.95))!important;color:#fff;border:1px solid rgba(255,255,255,.5)}
  .hp-page{padding:18px 16px 40px}
  .tn-vendor img{width:104px!important;height:104px!important}
}


/* =====================================================================
   v1.2 — Related listings: compact grid using the featured-card style
   (cards are re-structured by main.js, which adds .tn-rel / .tn-rel-grid)
   ===================================================================== */
.hp-page .hp-listing--view-block .hp-listing__title{font-size:15px!important;line-height:1.3!important}

.tn-rel-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 0!important;padding:0!important;width:auto!important}
.tn-rel-grid::before,.tn-rel-grid::after{display:none!important}
.tn-rel-grid>*{width:auto!important;max-width:none!important;flex:none!important;float:none!important;margin:0!important;padding:0!important;min-width:0}
@media (min-width:769px){.tn-rel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:1025px){.tn-rel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.tn-rel{position:relative!important;display:block!important;aspect-ratio:4/4.9;min-height:0;padding:0!important;margin:0!important;border:0!important;border-radius:16px!important;overflow:hidden;background:#0d1612!important;box-shadow:0 18px 34px -16px rgba(0,0,0,.55)!important}
.tn-rel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.86))}
.tn-rel>.tn-rel__img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;float:none!important}
.tn-rel__img a{display:block;height:100%}
.tn-rel__img img{width:100%!important;height:100%!important;object-fit:cover;border-radius:0!important;transition:transform .4s}
.tn-rel:hover .tn-rel__img img{transform:scale(1.05)}
.tn-rel>*:not(.tn-rel__img):not(.tn-rel__info):not(.tn-rel__link):not(.tn-tag):not(.tn-rel__fav):not(.tn-rel__feat){display:none!important}
.tn-rel__link{position:absolute;inset:0;z-index:3}
.tn-rel>.tn-tag{z-index:4;font-size:10px}
.tn-rel__info{position:absolute;left:8px;right:8px;bottom:8px;z-index:2;padding:9px 11px 10px;border-radius:13px;background:rgba(10,16,13,.42);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.16);pointer-events:none;display:flex;flex-direction:column;gap:3px}
.tn-rel__info *{color:#fff!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;text-align:left!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important}
.hp-page .tn-rel .tn-rel__info [class*="__title"]{font-family:var(--tn-display)!important;font-size:13px!important;font-weight:700!important;line-height:1.28!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.01em}
.hp-page .tn-rel .tn-rel__info [class*="__title"] *{font-size:inherit!important}
.hp-page .tn-rel .tn-rel__info [class*="verified"],.hp-page .tn-rel .tn-rel__info [class*="__title"] i{font-size:11px!important;color:#4ade80!important}
.hp-page .tn-rel .tn-rel__info .tn-rel__price,.hp-page .tn-rel .tn-rel__info .tn-rel__price *{color:#ff6b70!important;font-family:var(--tn-display)!important;font-size:15px!important;font-weight:800!important;line-height:1.2!important;white-space:nowrap;letter-spacing:-.01em}
.hp-page .tn-rel .tn-rel__info .tn-rel__loc,.hp-page .tn-rel .tn-rel__info .tn-rel__loc *{color:rgba(255,255,255,.82)!important;font-size:11.5px!important;font-weight:500!important;line-height:1.3!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-page .tn-rel .tn-rel__info .tn-rel__loc i{margin-right:4px}


/* =====================================================================
   v1.3 — App download banner
   ===================================================================== */
[hidden]{display:none!important}
.tn-appbar{position:relative;z-index:101;overflow:hidden;color:#fff;
  background:radial-gradient(420px 120px at 12% 0%,rgba(34,197,94,.22),transparent 70%),radial-gradient(420px 120px at 92% 100%,rgba(228,32,43,.26),transparent 70%),linear-gradient(100deg,#07100c 0%,#0e2419 48%,#1d0d10 100%);
  animation:tn-appbar-in .7s cubic-bezier(.2,.8,.2,1) both}
.tn-appbar::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.11) 50%,transparent 62%);transform:translateX(-130%);animation:tn-appbar-sheen 7s 1.4s ease-in-out infinite}
.tn-appbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#e4202b,#22c55e,#e4202b);background-size:200% 100%;animation:tn-appbar-line 6s linear infinite}
.tn-appbar__in{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;padding:10px 52px 11px 16px}
.tn-appbar__text{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:#cfdbd4;line-height:1.3}
.tn-appbar__text b{font-family:var(--tn-display);font-weight:700;color:#fff;letter-spacing:-.01em;margin-right:4px}
.tn-appbar__rocket{display:inline-grid;place-items:center;width:30px;height:30px;font-size:16px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:tn-appbar-bob 2.8s ease-in-out infinite}
.app-badges{display:inline-flex;align-items:center;gap:10px;margin:0;vertical-align:middle}
.badge-link{display:block;border-radius:9px;line-height:0;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 18px -10px rgba(0,0,0,.8)}
.badge-link:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 12px 22px -10px rgba(34,197,94,.55)}
.badge-link img{display:block;height:36px!important;width:auto;border-radius:8px;outline:1px solid rgba(255,255,255,.22);outline-offset:-1px}
.tn-appbar__close{position:absolute;z-index:20;right:12px;top:50%;transform:translateY(-50%);pointer-events:auto;touch-action:manipulation;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#fff;cursor:pointer;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.tn-appbar__close:hover{background:rgba(228,32,43,.55);transform:translateY(-50%) rotate(90deg)}
@keyframes tn-appbar-in{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
@keyframes tn-appbar-sheen{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes tn-appbar-line{to{background-position:200% 0}}
@keyframes tn-appbar-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-8deg)}}
@media (max-width:768px){
  .tn-appbar__in{flex-direction:column;gap:8px;padding:10px 44px 12px 14px;text-align:center}
  .tn-appbar__text{font-size:12.5px;justify-content:center}
  .tn-appbar__text b{display:block;margin:0}
  .badge-link img{height:32px!important}
  .tn-appbar__close{top:12px;transform:none;right:10px}
  .tn-appbar__close:hover{transform:rotate(90deg)}
}
@media (prefers-reduced-motion:reduce){.tn-appbar,.tn-appbar::before,.tn-appbar::after,.tn-appbar__rocket{animation:none!important}}


/* =====================================================================
   v1.4 — Category / listings / search pages, forms, pagination
   ===================================================================== */

/* Map removed on archive, category and search pages (main.js also deletes it) */
.post-type-archive-hp_listing .hp-map,.tax-hp_listing_category .hp-map,.tax-hp_listing_tag .hp-map,.search .hp-map,
.post-type-archive-hp_listing [data-component="map"],.tax-hp_listing_category [data-component="map"],.search [data-component="map"]{display:none!important}

/* Page heading */
.hp-page .hp-page__title{position:relative;padding-bottom:14px;margin:0 0 20px}
.hp-page .hp-page__title::after{content:"";position:absolute;left:0;bottom:0;width:58px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--tn-red),var(--tn-green))}

/* Forms (all HivePress pages) */
.hp-page input[type=text],.hp-page input[type=search],.hp-page input[type=email],.hp-page input[type=password],.hp-page input[type=tel],.hp-page input[type=url],.hp-page input[type=number],.hp-page textarea,.hp-page select{
  width:100%;min-height:50px;padding:0 16px;border:1px solid #e1e6e4!important;border-radius:14px!important;
  background-color:rgba(255,255,255,.94)!important;color:var(--tn-text);font-size:15px;line-height:1.4;
  box-shadow:inset 0 1px 2px rgba(15,23,32,.04),0 8px 18px -14px rgba(15,23,32,.3)!important;outline:0;
  -webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.hp-page textarea{padding:13px 16px;min-height:130px}
.hp-page select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:17px!important}
.hp-page ::placeholder{color:#9aa3ad;opacity:1}
.hp-page .hp-field,.hp-page .hp-field--text,.hp-page .hp-field--search,.hp-page .hp-field--location,.hp-page .hp-field--select{border:0!important;background:none!important;box-shadow:none!important;padding:0!important}
.hp-page .hp-field--location input{padding-right:48px}
.hp-page .hp-form__label,.hp-page .hp-field__label{font-weight:600;font-size:13px;color:#374151;margin-bottom:6px}

/* Search form on listing / category pages */
.tn-searchform{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 22px!important;padding:16px;border-radius:22px;
  background:linear-gradient(160deg,rgba(255,255,255,.88),rgba(255,255,255,.62));
  -webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);
  border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 50px -28px rgba(15,23,32,.4),inset 0 1px 0 #fff}
.tn-searchform>*{min-width:0}
.tn-searchform .hp-form__fields{flex:1 1 560px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0}
.tn-searchform>.hp-form__field{flex:1 1 190px}
.tn-searchform .hp-form__field{margin:0!important;padding:0!important}
.tn-searchform .hp-form__footer{flex:0 0 auto;display:flex;gap:10px;margin:0!important;padding:0!important}
.tn-searchform .hp-form__footer>*,.tn-searchform .hp-form__button{margin:0!important}
.tn-searchform input:focus,.tn-searchform select:focus,.hp-page input:focus,.hp-page textarea:focus,.hp-page select:focus{border-color:var(--tn-green)!important;box-shadow:0 0 0 4px rgba(34,197,94,.16)!important}
.tn-searchform button,.tn-searchform .hp-button,.tn-searchform a.button{min-height:50px;padding:0 24px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;font-weight:700!important;font-size:15px!important;width:auto!important;white-space:nowrap}
/* Search = red glass, Filter = frosted white glass */
.tn-searchform button[type=submit]{position:relative;overflow:hidden;isolation:isolate;min-width:130px;
  background:linear-gradient(180deg,rgba(255,112,117,.94) 0%,rgba(232,38,48,.95) 52%,rgba(190,18,30,.97) 100%)!important;
  border:1px solid rgba(255,255,255,.42)!important;color:#fff!important;border-radius:14px!important;text-shadow:0 1px 1px rgba(90,0,8,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -10px 18px rgba(110,0,12,.22),0 12px 26px -10px rgba(228,32,43,.7)!important}
.tn-searchform button[type=submit]::before{content:"";position:absolute;left:5%;right:5%;top:2px;height:48%;z-index:-1;border-radius:12px 12px 60% 60%/12px 12px 22px 22px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0))}
.tn-searchform button:not([type=submit]):not([class*="locate"]):not([class*="clear"]){background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.65))!important;border:1px solid rgba(255,255,255,.95)!important;color:var(--tn-text)!important;border-radius:14px!important;box-shadow:inset 0 1px 0 #fff,0 10px 22px -12px rgba(15,23,32,.4)!important}
.tn-searchform button:hover{transform:translateY(-2px)}

/* Result count + sort */
.hp-page [class*="result-count"]{display:inline-flex;align-items:center;padding:9px 16px;margin:0 10px 14px 0;border-radius:99px;font-size:13.5px;font-weight:600;color:#3b4552;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 18px -14px rgba(15,23,32,.35)}
.hp-page [class*="-sort"]{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13.5px;font-weight:600;color:#3b4552}
.hp-page [class*="-sort"] select{width:auto;min-height:40px;padding:0 38px 0 16px;border-radius:99px!important;font-weight:600}

/* Listing cards on archive/category/vendor pages (restructured by main.js) */
.tn-rel>.tn-rel__feat{position:absolute!important;display:grid!important;place-items:center;top:10px;right:10px;left:auto;z-index:4;width:28px;height:28px;padding:0!important;margin:0!important;border-radius:50%!important;font-size:13px;color:#fff!important;background:linear-gradient(180deg,rgba(251,191,36,.95),rgba(245,158,11,.95))!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 8px 16px -6px rgba(245,158,11,.7)!important}
.tn-rel>.tn-rel__feat *{color:#fff!important;margin:0!important;font-size:13px}
/* fallback if JS has not restructured a card yet: small round action buttons instead of big blocks */
.hp-listing--view-block:not(.tn-rel) [class*="hp-listing__action"]{width:auto!important;min-width:44px;height:44px;padding:0 14px!important;border-radius:14px!important;display:inline-flex!important;align-items:center;justify-content:center}

/* Subcategory tiles */
.tn-cat-tile,.hp-listing-category--view-block{position:relative;text-align:center;padding:16px 10px!important;border-radius:18px!important;background:rgba(255,255,255,.76)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 12px 28px -16px rgba(15,23,32,.3),inset 0 1px 0 #fff;transition:transform .22s,box-shadow .22s,border-color .22s}
.tn-cat-tile:hover{transform:translateY(-4px);border-color:rgba(228,32,43,.3)!important;box-shadow:0 20px 36px -16px rgba(228,32,43,.32)}
.hp-listing-category--view-block img{width:64px;height:64px;object-fit:cover;border-radius:14px;margin:0 auto 8px;display:block}
.hp-listing-category--view-block [class*="__name"]{font-family:var(--tn-display)!important;font-weight:700;font-size:14px!important;color:var(--tn-text)}
.hp-listing-category--view-block [class*="__count"]{font-size:12px;color:var(--tn-muted)}

/* Vendor cards in lists */
.hp-vendor--view-block:not(.tn-vendor){background:rgba(255,255,255,.8)!important;border-radius:20px!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 14px 32px -18px rgba(15,23,32,.3);padding:16px!important}

/* Pagination (HivePress) */
.hp-pagination{margin:30px 0 14px;text-align:center}
.hp-pagination ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;list-style:none;margin:0;padding:0;height:auto;min-width:0;border:0;background:none;box-shadow:none;border-radius:0}
.hp-pagination ul.page-numbers>li{margin:0;padding:0;list-style:none}
.hp-pagination li>.page-numbers,.hp-pagination .page-numbers:not(ul):not(li){display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 14px;border-radius:12px;font-size:13.5px;font-weight:600;color:var(--tn-text);background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 18px -10px rgba(15,23,32,.3);transition:transform .15s}
.hp-pagination a.page-numbers:hover{transform:translateY(-2px);color:var(--tn-red)}
.hp-pagination .page-numbers.current{background:linear-gradient(180deg,#ff6a70,#e4202b)!important;color:#fff!important;border-color:rgba(255,255,255,.5)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 22px -8px rgba(228,32,43,.7)!important}
.hp-pagination .page-numbers.dots{background:none!important;border:0!important;box-shadow:none!important;min-width:20px;padding:0}

/* Filter modal */
.hp-modal__container{border-radius:24px!important;overflow:hidden;box-shadow:0 34px 80px -24px rgba(0,0,0,.55)!important;background:linear-gradient(170deg,#ffffff,#f4f8f6)!important}
.hp-modal__title{font-family:var(--tn-display)!important;font-weight:700;letter-spacing:-.02em}
.hp-modal__close{border-radius:50%!important;background:rgba(15,23,32,.06)!important}

@media (max-width:768px){
  .tn-searchform{padding:14px;border-radius:20px}
  .tn-searchform .hp-form__fields{flex-basis:100%;grid-template-columns:1fr}
  .tn-searchform>.hp-form__field{flex-basis:100%}
  .tn-searchform .hp-form__footer{flex:1 1 100%}
  .tn-searchform .hp-form__footer>*,.tn-searchform .hp-form__footer button{flex:1}
  .hp-page .hp-page__title{font-size:26px!important}
}


/* =====================================================================
   v1.5 — Header "+" button, desktop layout, overflow-safe nav
   ===================================================================== */
:root{--tn-wrap:1240px}
body{overflow-x:clip}
.tn-header__bar{min-width:0}
.tn-header__tools{flex:none}
.tn-nav{flex:1 1 auto;min-width:0;margin-left:12px}
.tn-nav>ul{flex-wrap:nowrap;gap:clamp(16px,1.8vw,28px)}
.tn-nav li{flex:none;position:relative}
.tn-nav a{white-space:nowrap;font-size:13.5px}

/* "More" dropdown, built by main.js when the menu is too long */
.tn-more__btn{display:flex;align-items:center;gap:5px;padding:24px 0;background:none;border:0;color:#e5e9e7;font:inherit;font-size:13.5px;font-weight:500;cursor:pointer}
.tn-more__btn:hover{color:#fff}
.tn-nav .tn-more__menu{display:none;position:absolute;right:0;top:100%;min-width:210px;padding:8px;flex-direction:column;gap:2px;border-radius:14px;background:rgba(8,15,12,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 50px -16px rgba(0,0,0,.7);z-index:130}
.tn-nav .tn-more.is-open .tn-more__menu{display:flex}
.tn-nav .tn-more__menu a{padding:10px 12px;border-radius:9px}
.tn-nav .tn-more__menu a:hover{background:rgba(255,255,255,.08)}
.tn-nav .tn-more__menu a::after{display:none}

/* Red glass "+" (replaces the cart) */
.tn-addbtn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px!important;font-size:13.5px!important;border-radius:99px!important;white-space:nowrap;flex:none}
.tn-addbtn .tn-i{font-size:16px}
@media (max-width:900px){
  .tn-addbtn{width:38px;height:38px;padding:0!important;justify-content:center;border-radius:50%!important}
  .tn-addbtn span{display:none}
  .tn-addbtn .tn-i{font-size:19px}
}

/* Hero visual (desktop only) */
.tn-hero__copy{min-width:0}
.tn-hero__visual{display:none}
@media (min-width:901px){
  .tn-wrap{padding:0 28px}
  .tn-hero__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding-top:76px;padding-bottom:64px}
  .tn-hero h1{max-width:none;font-size:clamp(44px,4.4vw,60px)}
  .tn-hero p{font-size:16.5px;max-width:520px}
  .tn-search{max-width:none}
  .tn-hero__visual{display:block;position:relative;height:450px}
  .tn-hero__visual::before{content:"";position:absolute;inset:-10% -6%;background:radial-gradient(closest-side at 40% 45%,rgba(34,197,94,.30),transparent 70%),radial-gradient(closest-side at 75% 65%,rgba(228,32,43,.30),transparent 70%);filter:blur(10px)}
  .tn-hv{position:absolute;z-index:2;display:block;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#1c2a23,#101a15);border:1px solid rgba(255,255,255,.22);box-shadow:0 34px 60px -24px rgba(0,0,0,.75);transform:rotate(var(--r,0deg));animation:tn-float 7s ease-in-out infinite}
  .tn-hv img{width:100%;height:100%;object-fit:cover}
  .tn-hv::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.78))}
  .tn-hv__meta{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;padding:8px 11px;border-radius:12px;background:rgba(10,16,13,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;gap:2px}
  .tn-hv__meta b{font-family:var(--tn-display);font-size:12.5px;font-weight:700;color:#fff;line-height:1.25;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .tn-hv__meta i{font-style:normal;font-family:var(--tn-display);font-size:13px;font-weight:800;color:#ff6b70}
  .tn-hv--1{--r:-7deg;left:0;top:16%;width:42%;height:64%}
  .tn-hv--2{--r:3deg;left:31%;top:0;width:44%;height:72%;animation-delay:-2.3s}
  .tn-hv--3{--r:9deg;right:0;top:36%;width:38%;height:58%;animation-delay:-4.6s}
  .tn-hv-chip{position:absolute;z-index:5;display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:99px;font-size:12.5px;font-weight:600;color:#fff;background:rgba(15,25,20,.55);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.2);box-shadow:0 14px 28px -12px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.18)}
  .tn-hv-chip .tn-i{color:var(--tn-green);font-size:16px}
  .tn-hv-chip--a{top:2%;right:2%}
  .tn-hv-chip--b{left:-2%;bottom:4%}
  .tn-hv-chip--c{right:10%;bottom:-1%}

  /* roomier sections */
  .tn-sec{padding:54px 0 14px}
  .tn-sec__title h2{font-size:23px}
  .tn-grid{gap:22px}
  .tn-cats{gap:20px}
  .tn-cat{padding:24px 12px}
  .tn-cat__img{width:76px;height:76px}
  .tn-slider__track{gap:20px}
  .tn-slider__track>*{flex-basis:calc(25% - 15px)}
  .tn-news{padding:38px 46px}
  .tn-footer{padding-top:56px}
}
@keyframes tn-float{0%,100%{transform:rotate(var(--r,0deg)) translateY(0)}50%{transform:rotate(var(--r,0deg)) translateY(-9px)}}
@media (prefers-reduced-motion:reduce){.tn-hv{animation:none!important}}
@media (min-width:1500px){.tn-grid{grid-template-columns:repeat(5,1fr)}.tn-slider__track>*{flex-basis:calc(20% - 16px)}}


/* =====================================================================
   v1.6 — Balanced desktop, category page layout, listing-submit form
   ===================================================================== */

/* Medium desktops (901–1199px): keep the two hero columns comfortable */
@media (min-width:901px) and (max-width:1199px){
  .tn-hero__in{gap:34px}
  .tn-hero h1{font-size:40px}
  .tn-search select{max-width:118px}
  .tn-search .tn-btn{padding:13px 18px}
  .tn-hv-chip{font-size:11.5px;padding:8px 12px}
}
@media (min-width:901px){
  .tn-cats{grid-template-columns:repeat(6,minmax(0,1fr))}
  .tn-footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr}
}

/* ---- Category / listings page: sidebar + results (layout tagged by main.js) ---- */
@media (min-width:901px){
  .tn-archive{display:grid!important;grid-template-columns:290px minmax(0,1fr);gap:28px;align-items:start;margin:0!important;position:relative}
  .tn-archive::before,.tn-archive::after{display:none!important}
  .tn-archive>*{width:auto!important;max-width:none!important;flex:none!important;float:none!important;margin:0!important;padding:0!important;min-width:0}
  .tn-archive>[class*="sidebar"]{position:sticky;top:96px;padding:18px!important;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.62));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.95);box-shadow:0 22px 46px -26px rgba(15,23,32,.4),inset 0 1px 0 #fff}
  .tn-archive>[class*="sidebar"] .hp-widget{background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;border:0!important}
  /* no filter fields: the sidebar is just a button, so collapse it to the top-right and use the full width */
  .tn-archive.tn-side-empty{grid-template-columns:minmax(0,1fr)}
  .tn-archive.tn-side-empty>[class*="sidebar"]{position:absolute;right:0;top:4px;z-index:3;padding:0!important;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .tn-archive.tn-side-empty .tn-rel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .tn-archive:not(.tn-side-empty) .tn-rel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1400px){
  .tn-archive.tn-side-empty .tn-rel-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tn-archive:not(.tn-side-empty) .tn-rel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ---- Custom dropdowns (TomSelect / Select2) ---- */
.hp-page .ts-wrapper{width:100%}
.hp-page .ts-control,.tn-searchform .ts-control{position:relative;min-height:50px;padding:0 44px 0 16px!important;display:flex!important;align-items:center;flex-wrap:nowrap!important;cursor:pointer;font-size:15px;color:var(--tn-text);border:1px solid #e1e6e4!important;border-radius:14px!important;background-color:rgba(255,255,255,.94)!important;box-shadow:inset 0 1px 2px rgba(15,23,32,.04),0 8px 18px -14px rgba(15,23,32,.3)!important}
.hp-page .ts-wrapper.focus .ts-control{border-color:var(--tn-green)!important;box-shadow:0 0 0 4px rgba(34,197,94,.16)!important}
.hp-page .ts-wrapper.single .ts-control::after{content:"";display:block;position:absolute;right:16px;top:50%;margin:0!important;width:17px;height:17px;border:0!important;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/17px no-repeat}
.hp-page .ts-wrapper .ts-control input{min-height:0!important;height:auto!important;width:auto;flex:1 1 40px;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;padding:0!important}
.hp-page .ts-wrapper.multi .ts-control{flex-wrap:wrap!important;padding:8px 44px 8px 12px!important;gap:6px}
.hp-page .ts-wrapper.multi .ts-control>div{background:rgba(228,32,43,.09);color:var(--tn-red);border-radius:99px;padding:4px 12px;font-size:13px;font-weight:600}
.ts-dropdown{border:1px solid #e1e6e4!important;border-radius:14px!important;box-shadow:0 26px 54px -20px rgba(15,23,32,.45)!important;overflow:hidden;margin-top:6px!important;background:#fff;z-index:300}
.ts-dropdown .option,.ts-dropdown .no-results{padding:11px 16px!important;font-size:14.5px}
.ts-dropdown .active{background:rgba(228,32,43,.08)!important;color:var(--tn-red)!important}
.hp-page [class*="-sort"] .ts-control{min-height:40px;border-radius:99px!important;padding:0 40px 0 16px!important;font-weight:600}
.select2-container--default .select2-selection--single{height:50px!important;display:flex;align-items:center;border:1px solid #e1e6e4!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{padding:0 16px!important;line-height:normal!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px!important;right:10px!important}
.select2-dropdown{border:1px solid #e1e6e4!important;border-radius:14px!important;overflow:hidden;box-shadow:0 26px 54px -20px rgba(15,23,32,.45)}

/* ---- Phone fields (flag + dial code) ---- */
.hp-page .iti{display:block;width:100%}
.hp-page .iti input[type=tel],.hp-page .iti input[type=text]{padding-left:60px!important;padding-right:14px!important}
.hp-page .iti--separate-dial-code input[type=tel],.hp-page .iti--separate-dial-code input[type=text]{padding-left:108px!important}
.hp-page .iti__flag-container{top:0;bottom:0}
.hp-page .iti__selected-flag{display:flex;align-items:center;gap:4px;padding:0 10px 0 16px;border-radius:14px 0 0 14px}
.hp-page .iti__selected-dial-code{margin-left:6px;font-size:15px;font-weight:600;color:#374151}
.hp-page .iti__country-list{border:1px solid #e1e6e4;border-radius:14px;box-shadow:0 26px 54px -20px rgba(15,23,32,.45);max-height:260px;overflow-x:hidden}

/* ---- Description / rich-text editors ---- */
.hp-page .trumbowyg-box,.hp-page .wp-editor-wrap,.hp-page .tox-tinymce,.hp-page .mce-tinymce{border:1px solid #e1e6e4!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;overflow:hidden;min-height:210px;box-shadow:inset 0 1px 2px rgba(15,23,32,.04),0 8px 18px -14px rgba(15,23,32,.3)}
.hp-page .trumbowyg-editor,.hp-page .trumbowyg-textarea{min-height:170px;padding:14px 16px;background:transparent!important;border:0!important;color:var(--tn-text);font-size:15px;line-height:1.7;outline:0}
.hp-page .trumbowyg-button-pane{background:#f3f6f4!important;border-bottom:1px solid #e1e6e4!important}
.hp-page .trumbowyg-button-pane::after{background:transparent!important}
.hp-page .trumbowyg-button-pane .trumbowyg-button-group::after{background:#dfe5e2!important}
.hp-page .trumbowyg-button-pane button{border-radius:8px!important}
.hp-page textarea{display:block}

/* ---- Checkboxes / radios ---- */
.hp-page input[type=checkbox],.hp-page input[type=radio]{-webkit-appearance:none;appearance:none;flex:none;display:inline-grid;place-content:center;vertical-align:middle;width:24px!important;height:24px!important;min-height:0!important;margin:0 10px 0 0!important;padding:0!important;border:2px solid #c9d1ce!important;border-radius:8px!important;background-color:#fff!important;box-shadow:none!important;cursor:pointer;transition:background-color .15s,border-color .15s}
.hp-page input[type=radio]{border-radius:50%!important}
.hp-page input[type=checkbox]:checked{background-color:var(--tn-red)!important;border-color:var(--tn-red)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")!important;background-size:15px!important;background-position:center!important;background-repeat:no-repeat!important;box-shadow:0 6px 14px -6px rgba(228,32,43,.7)!important}
.hp-page input[type=radio]:checked{background-color:var(--tn-red)!important;border-color:var(--tn-red)!important;background-image:radial-gradient(circle,#fff 34%,transparent 38%)!important}
.hp-page .hp-field--checkbox label,.hp-page .hp-field--radio label,.hp-page label:has(>input[type=checkbox]){display:flex;align-items:center;gap:2px;font-size:15px;font-weight:500;color:#374151;cursor:pointer;line-height:1.4}
.hp-page .hp-field--checkbox a{color:var(--tn-red);font-weight:600}

/* ---- Form typography + spacing ---- */
.hp-page .hp-form__label,.hp-page .hp-field__label{display:block;font-size:14px;font-weight:700;color:var(--tn-text);margin-bottom:8px}
.hp-page .hp-field__description,.hp-page .hp-form__description{font-size:13px!important;line-height:1.5!important;color:var(--tn-muted)!important;margin:-2px 0 10px}
.hp-form:not(.tn-searchform) .hp-form__field{margin-bottom:22px}

/* ---- Submit buttons on every HivePress form (Submit Listing, Login, Update …) ---- */
.hp-form:not(.tn-searchform) button[type=submit],.hp-form:not(.tn-searchform) input[type=submit]{
  position:relative;overflow:hidden;isolation:isolate;display:flex!important;align-items:center;justify-content:center;gap:10px;
  width:100%;min-height:54px;padding:0 32px!important;font-size:16px!important;font-weight:700!important;letter-spacing:.01em;cursor:pointer;
  background:linear-gradient(180deg,rgba(255,112,117,.94) 0%,rgba(232,38,48,.95) 52%,rgba(190,18,30,.97) 100%)!important;
  border:1px solid rgba(255,255,255,.42)!important;color:#fff!important;border-radius:16px!important;text-shadow:0 1px 1px rgba(90,0,8,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -10px 18px rgba(110,0,12,.22),0 16px 30px -12px rgba(228,32,43,.7)!important;
  transition:transform .18s,filter .2s,box-shadow .2s}
.hp-form:not(.tn-searchform) button[type=submit]::before{content:"";position:absolute;left:5%;right:5%;top:2px;height:48%;z-index:-1;border-radius:14px 14px 60% 60%/14px 14px 26px 26px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,0));pointer-events:none}
.hp-form:not(.tn-searchform) button[type=submit]:hover,.hp-form:not(.tn-searchform) input[type=submit]:hover{transform:translateY(-2px);filter:brightness(1.07)}
@media (min-width:769px){.hp-form:not(.tn-searchform) .hp-form__footer button[type=submit]{max-width:360px}}


/* =====================================================================
   v1.7 — Android app (WebView): the app has its own native bottom bar
   ===================================================================== */
html.tn-in-app .tn-bottomnav,
html.tn-in-app .tn-appbar,
html.tn-in-app .hide-in-app{display:none!important}
html.tn-in-app body{padding-bottom:0!important}


/* =====================================================================
   v1.8 — Description editor frame, phone padding fallback
   ===================================================================== */
.hp-page .iti--separate-dial-code input[type=tel],.hp-page .iti--separate-dial-code input[type=text]{padding-left:100px!important}
.tn-editor-box{display:block!important;visibility:visible!important;position:relative;min-height:210px;border:1px solid #e1e6e4!important;border-radius:14px!important;background:#fff!important;overflow:hidden;box-shadow:inset 0 1px 2px rgba(15,23,32,.04),0 8px 18px -14px rgba(15,23,32,.3)}
.tn-editor-box iframe{display:block;width:100%!important;min-height:170px;background:#fff}
.tn-editor-box textarea{display:block;width:100%;min-height:200px;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.tn-editor-box .tox-tinymce,.tn-editor-box .mce-tinymce,.tn-editor-box .trumbowyg-box,.tn-editor-box .ql-container{border:0!important;border-radius:0!important;box-shadow:none!important;visibility:visible!important}
.hp-page .ql-toolbar{border:1px solid #e1e6e4!important;border-radius:14px 14px 0 0;background:#f3f6f4}
.hp-page .ql-container{border:1px solid #e1e6e4!important;border-top:0!important;border-radius:0 0 14px 14px;background:#fff;min-height:170px}
.hp-page .ql-editor{min-height:170px;padding:14px 16px;font-size:15px;line-height:1.7}


/* =====================================================================
   v1.9 — Description box: the editable area itself gets the visible frame
   (it was transparent, so it only showed up once tapped)
   ===================================================================== */
.hp-form [contenteditable="true"]:not(.trumbowyg-editor):not(.ql-editor){
  display:block;min-height:190px;padding:14px 16px!important;font-size:15px;line-height:1.7;color:var(--tn-text);outline:0;
  background:#fff!important;border:1px solid #e1e6e4!important;border-radius:14px!important;
  box-shadow:inset 0 1px 2px rgba(15,23,32,.04),0 8px 18px -14px rgba(15,23,32,.3)!important;
  transition:border-color .2s,box-shadow .2s}
.hp-form [contenteditable="true"]:not(.trumbowyg-editor):not(.ql-editor):focus{border-color:var(--tn-green)!important;box-shadow:0 0 0 4px rgba(34,197,94,.16)!important}
.hp-form .mce-content-body{min-height:190px}


/* =====================================================================
   v1.9.1 — Description field: a frame drawn around the whole editor area
   ===================================================================== */
.tn-desc-field{position:relative;isolation:isolate}
.tn-desc-field::before{content:"";position:absolute;left:0;right:0;top:var(--tn-fr-top,44px);bottom:0;border-radius:14px;background:#fff;z-index:-1}
.tn-desc-field::after{content:"";position:absolute;left:0;right:0;top:var(--tn-fr-top,44px);bottom:0;border:1px solid #d3dbd8;border-radius:14px;box-shadow:0 8px 18px -14px rgba(15,23,32,.35);pointer-events:none;z-index:3;transition:border-color .2s,box-shadow .2s}
.tn-desc-field:focus-within::after{border-color:var(--tn-green);box-shadow:0 0 0 4px rgba(34,197,94,.16)}
.hp-form .tn-desc-field [contenteditable="true"]:not(.trumbowyg-editor):not(.ql-editor),
.hp-page .tn-desc-field textarea,.hp-page .tn-desc-field .tn-editor-box{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important}


/* =====================================================================
   v1.10 — Favorites, Messages, account menu, app header
   ===================================================================== */

/* Favorite heart on overlay cards (moved out of the hidden footer by main.js) */
.hp-page .tn-rel>.tn-rel__fav{position:absolute!important;top:10px;right:10px;left:auto;bottom:auto;z-index:6;width:34px;height:34px;min-height:0;padding:0!important;margin:0!important;display:grid!important;place-items:center;border-radius:50%!important;font-size:0!important;line-height:1;color:#fff!important;background:rgba(10,16,13,.45)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)!important;box-shadow:0 8px 16px -8px rgba(0,0,0,.6)!important;transform:none}
.hp-page .tn-rel>.tn-rel__fav *{font-size:15px!important;color:#fff!important;margin:0!important}
.hp-page .tn-rel>.tn-rel__fav:hover{background:rgba(228,32,43,.75)!important}
.hp-page .tn-rel>.tn-rel__fav[class*="active"] *,.hp-page .tn-rel>.tn-rel__fav[data-state="active"] *{color:#ff6b70!important}
.tn-rel.tn-has-fav>.tn-rel__feat{right:52px}

/* Manage-listings cards (edit / pause / delete) that keep the normal layout */
.hp-listing--view-block:not(.tn-rel) [class*="hp-listing__image"] img{width:100%;height:220px;object-fit:cover}
.hp-listing--view-block:not(.tn-rel) [class*="hp-listing__actions"]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.hp-listing--view-block:not(.tn-rel) [class*="hp-listing__content"]{padding:14px 16px}

/* Empty states */
.hp-page .hp-no-results{text-align:center;padding:44px 20px;border-radius:20px;background:rgba(255,255,255,.75);border:1px dashed #cfd6d3;color:var(--tn-muted);font-size:15px}

/* Account layout: menu sidebar + content (class added by main.js) */
@media (min-width:901px){
  .tn-account{display:grid!important;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;margin:0!important}
  .tn-account::before,.tn-account::after{display:none!important}
  .tn-account>*{width:auto!important;max-width:none!important;flex:none!important;float:none!important;margin:0!important;padding:0!important;min-width:0}
  .tn-account>[class*="sidebar"]{position:sticky;top:96px;padding:12px!important;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.62));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.95);box-shadow:0 22px 46px -26px rgba(15,23,32,.4),inset 0 1px 0 #fff}
  .tn-account>[class*="sidebar"] .hp-widget{background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;border:0!important}
}
/* Account menu */
.hp-menu--user-account,.hp-menu--user-account>ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.hp-menu--user-account .hp-menu__item{list-style:none;margin:0;padding:0}
.hp-menu--user-account .hp-menu__item a{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:13px;font-weight:600;font-size:14.5px;color:#3b4552;text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}
.hp-menu--user-account .hp-menu__item a:hover{background:rgba(228,32,43,.06);color:var(--tn-red)}
.hp-menu--user-account .hp-menu__item--current a,.hp-menu--user-account .hp-menu__item--current>a{background:linear-gradient(135deg,rgba(228,32,43,.13),rgba(255,255,255,.75));color:var(--tn-red)!important;border-color:rgba(228,32,43,.18)!important;box-shadow:0 10px 22px -16px rgba(228,32,43,.6)}
@media (max-width:900px){
  .hp-menu--user-account,.hp-menu--user-account>ul{flex-direction:row;overflow-x:auto;gap:8px;padding:2px 2px 10px;scrollbar-width:none;margin-bottom:8px}
  .hp-menu--user-account::-webkit-scrollbar,.hp-menu--user-account>ul::-webkit-scrollbar{display:none}
  .hp-menu--user-account .hp-menu__item{flex:none}
  .hp-menu--user-account .hp-menu__item a{white-space:nowrap;padding:9px 16px;border-radius:99px;background:rgba(255,255,255,.85);border:1px solid #fff;box-shadow:0 8px 18px -12px rgba(15,23,32,.35)}
}

/* Messages: thread list + chat bubbles */
.hp-message--view-block,.hp-message[class*="hp-message--"]{position:relative;display:block;padding:14px 16px!important;margin:0 0 12px!important;border-radius:18px!important;background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 12px 26px -18px rgba(15,23,32,.38);transition:transform .2s,box-shadow .2s}
a.hp-message--view-block:hover,.hp-message--view-block:hover{transform:translateY(-2px);box-shadow:0 18px 32px -18px rgba(15,23,32,.45)}
.hp-message [class*="__image"] img,.hp-message img.avatar,.hp-message--view-block img{width:48px!important;height:48px!important;border-radius:50%!important;object-fit:cover;flex:none;box-shadow:0 0 0 2px #fff,0 8px 16px -8px rgba(15,23,32,.45)}
.hp-message [class*="__sender"],.hp-message [class*="__name"]{font-family:var(--tn-display)!important;font-weight:700;font-size:15px;color:var(--tn-text)}
.hp-message [class*="__time"],.hp-message [class*="__date"],.hp-message [class*="__details"]{font-size:12px;color:var(--tn-muted)}
.hp-message [class*="__text"],.hp-message [class*="__content"]{font-size:15px;line-height:1.65;color:#2b3440}
.hp-message[class*="--sent"]{background:linear-gradient(135deg,rgba(228,32,43,.12),rgba(255,255,255,.92))!important;border-color:rgba(228,32,43,.2)!important;margin-left:10%!important;border-radius:20px 20px 6px 20px!important}
.hp-message[class*="--received"]{margin-right:10%!important;border-radius:20px 20px 20px 6px!important}
.hp-message[class*="unread"]{border-left:4px solid var(--tn-red)!important}
.hp-form--message-send textarea,.hp-form[class*="message"] textarea{min-height:110px}
@media (max-width:768px){.hp-message[class*="--sent"]{margin-left:4%!important}.hp-message[class*="--received"]{margin-right:4%!important}}


/* =====================================================================
   v1.11 — Message box frame, attachment button, WhatsApp-style chat
   ===================================================================== */

/* Attachment / file upload: visible dashed drop button */
.hp-page [class*="attachment-upload"] button,.hp-page [class*="attachment-upload"] a[class*="button"],.hp-page [class*="attachment-upload"] .button,.hp-page [class*="attachment"] [class*="__button"]{
  display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 20px!important;cursor:pointer;
  font-size:15px!important;font-weight:600!important;color:var(--tn-text)!important;
  background:rgba(255,255,255,.8)!important;border:2px dashed #c6d0cc!important;border-radius:16px!important;box-shadow:none!important;transition:border-color .2s,background .2s,color .2s}
.hp-page [class*="attachment-upload"] button::before,.hp-page [class*="attachment-upload"] .button::before{content:"";flex:none;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e4202b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.4 11.1 12.2 20.3a6 6 0 0 1-8.5-8.5l9.2-9.2a4 4 0 0 1 5.7 5.7l-9.2 9.2a2 2 0 0 1-2.8-2.8l8.5-8.5'/%3E%3C/svg%3E") center/20px no-repeat}
.hp-page [class*="attachment-upload"] button:hover,.hp-page [class*="attachment-upload"] .button:hover{border-color:var(--tn-red)!important;color:var(--tn-red)!important;background:rgba(228,32,43,.05)!important}
.hp-page input[type=file]{width:100%;min-height:0;padding:12px!important;background:rgba(255,255,255,.8)!important;border:2px dashed #c6d0cc!important;border-radius:16px!important;color:#3b4552;font-size:14px}
.hp-page input[type=file]::file-selector-button{margin-right:12px;padding:10px 18px;border:0;border-radius:99px;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(180deg,#ff6f75,#e4202b 60%,#bd131e);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}

/* Chat area */
.hp-page .tn-chat{display:flex!important;flex-direction:column;gap:2px;padding:14px 12px!important;border-radius:20px;background-color:#efeae2;background-image:radial-gradient(rgba(11,20,26,.05) 1px,transparent 1px);background-size:18px 18px;box-shadow:inset 0 0 0 1px rgba(11,20,26,.06);margin-bottom:16px}
/* bubbles */
.hp-page .tn-chat .tn-msg{display:flex!important;flex-direction:column;width:fit-content;min-width:92px;max-width:84%;padding:6px 10px 5px!important;margin:0 0 4px!important;border:0!important;border-radius:12px!important;background:#fff!important;box-shadow:0 1px 1px rgba(11,20,26,.14)!important;transform:none!important}
.hp-page .tn-chat .tn-msg.tn-msg--out{margin-left:auto!important;margin-right:0!important;background:#d9fdd3!important;border-radius:12px 12px 2px 12px!important}
.hp-page .tn-chat .tn-msg.tn-msg--in{margin-right:auto!important;margin-left:0!important;border-radius:12px 12px 12px 2px!important}
.hp-page .tn-chat .tn-msg [class*="__image"],.hp-page .tn-chat .tn-msg img.avatar{display:none!important}
.hp-page .tn-chat .tn-msg [class*="__header"]{margin:0!important;padding:0!important;display:block}
.hp-page .tn-chat .tn-msg--out .tn-msg__name{display:none!important}
.hp-page .tn-chat .tn-msg--in .tn-msg__name{font-family:var(--tn-font)!important;font-size:12.5px!important;font-weight:700;color:#06a884;line-height:1.3;margin:0 0 1px!important}
.hp-page .tn-chat .tn-msg [class*="__text"]{margin:0!important;padding:0!important;font-size:14.5px!important;line-height:1.45!important;color:#111b21!important;word-break:break-word}
.hp-page .tn-chat .tn-msg .tn-msg__meta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:1px;line-height:1}
.hp-page .tn-chat .tn-msg .tn-msg__meta *{font-size:11px!important;color:#667781!important;margin:0!important;padding:0!important;background:none!important;border:0!important;line-height:1!important}
.hp-page .tn-chat .tn-msg .tn-tick{display:inline-flex!important;align-items:center}
.hp-page .tn-chat .tn-msg .tn-tick svg{width:16px;height:11px;display:block}
.hp-page .tn-chat .tn-msg [class*="__actions"]{margin-top:4px}
@media (max-width:768px){.hp-page .tn-chat .tn-msg{max-width:88%}}


/* =====================================================================
   v1.12 — Homepage: locations, how it works, verified vendors, sell banner, app
   ===================================================================== */
html{scroll-padding-top:90px}

/* Popular locations */
.tn-locs{display:flex;flex-wrap:wrap;gap:10px}
.tn-locchip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:99px;font-size:14px;font-weight:600;color:var(--tn-text);background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 22px -14px rgba(15,23,32,.35);transition:transform .2s,border-color .2s,box-shadow .2s}
.tn-locchip .tn-i{color:var(--tn-red);font-size:15px}
.tn-locchip em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--tn-red);background:rgba(228,32,43,.09);padding:2px 8px;border-radius:99px}
.tn-locchip:hover{transform:translateY(-3px);border-color:rgba(228,32,43,.35);box-shadow:0 16px 28px -14px rgba(228,32,43,.4)}

/* How it works */
.tn-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:12px}
.tn-how__step{position:relative;padding:30px 24px 24px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.68));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 40px -24px rgba(15,23,32,.35),inset 0 1px 0 #fff}
.tn-how__num{position:absolute;top:-14px;left:24px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--tn-display);font-weight:800;font-size:14px;color:#fff;background:linear-gradient(180deg,#ff6f75,#e4202b 60%,#bd131e);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 10px 18px -8px rgba(228,32,43,.7)}
.tn-how__ico{display:grid;place-items:center;width:56px;height:56px;margin-bottom:14px;border-radius:18px;font-size:27px;color:var(--tn-green-dark);background:linear-gradient(145deg,rgba(34,197,94,.16),rgba(34,197,94,.05));border:1px solid rgba(34,197,94,.22)}
.tn-how__step:nth-child(2) .tn-how__ico{color:var(--tn-red);background:linear-gradient(145deg,rgba(228,32,43,.14),rgba(228,32,43,.04));border-color:rgba(228,32,43,.2)}
.tn-how__step h3{margin:0 0 6px;font-size:17px;font-weight:700}
.tn-how__step p{margin:0;font-size:14px;line-height:1.6;color:#4b5563}
@media (min-width:901px){
  .tn-how__step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-22px;width:22px;height:2px;background:linear-gradient(90deg,var(--tn-red),var(--tn-green));opacity:.55}
}

/* Verified vendors */
.tn-vendors{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none}
.tn-vendors::-webkit-scrollbar{display:none}
.tn-vcard{flex:0 0 172px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:22px 14px 18px;border-radius:22px;background:linear-gradient(165deg,#fff,#f3f8f5 60%,#fdf2f3);border:1px solid rgba(255,255,255,.95);box-shadow:0 16px 36px -22px rgba(15,23,32,.4),inset 0 1px 0 #fff;transition:transform .22s,box-shadow .22s}
.tn-vcard:hover{transform:translateY(-4px);box-shadow:0 24px 44px -22px rgba(15,23,32,.5)}
.tn-vcard__av{position:relative;display:grid;place-items:center;width:84px;height:84px;margin-bottom:6px;border-radius:50%;background:linear-gradient(135deg,var(--tn-red),var(--tn-green));padding:3px;box-shadow:0 14px 26px -12px rgba(15,23,32,.5)}
.tn-vcard__av img,.tn-vcard__av b{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid #fff;background:#fff}
.tn-vcard__av b{display:grid;place-items:center;font-family:var(--tn-display);font-size:28px;color:var(--tn-red)}
.tn-vcard__av i{position:absolute;right:-2px;bottom:2px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#fff;background:var(--tn-green-dark);border:3px solid #fff}
.tn-vcard__av i .tn-i{stroke-width:3.2}
.tn-vcard strong{font-family:var(--tn-display);font-size:14.5px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tn-vcard__loc{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--tn-muted)}
.tn-vcard__cnt{margin-top:4px;font-size:11.5px;font-weight:700;color:var(--tn-red);background:rgba(228,32,43,.08);padding:4px 11px;border-radius:99px}
@media (min-width:1025px){
  .tn-vendors{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}
  .tn-vendors .tn-vcard{flex:none}
  .tn-vendors .tn-vcard:nth-child(n+7){display:none}
}

/* Sell on TradeNest */
.tn-sell{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:34px;align-items:center;margin:46px 0 0;padding:46px 44px;border-radius:28px;color:#fff;
  background:radial-gradient(520px 320px at 96% 0%,rgba(228,32,43,.5),transparent 70%),radial-gradient(460px 300px at 0% 105%,rgba(34,197,94,.38),transparent 70%),linear-gradient(120deg,#07100c,#0e2419 70%);
  box-shadow:0 34px 60px -30px rgba(0,0,0,.6)}
.tn-sell::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);transform:translateX(-120%);animation:tn-appbar-sheen 9s 2s ease-in-out infinite}
.tn-sell__copy,.tn-sell__steps{position:relative;z-index:1}
.tn-sell h2{margin:14px 0 10px;font-size:clamp(26px,3.4vw,38px);line-height:1.12;letter-spacing:-.03em}
.tn-sell p{margin:0 0 24px;max-width:480px;color:#cbd6d0;font-size:15.5px;line-height:1.65}
.tn-sell__actions{display:flex;flex-wrap:wrap;gap:12px}
.tn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:14px;font-size:14px;font-weight:600;color:#fff;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:transform .18s,background .2s}
.tn-ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}
.tn-sell__steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tn-sell__steps li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.tn-sell__steps li:nth-child(2){margin-left:22px}
.tn-sell__steps li>span{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:20px;color:#fff;background:linear-gradient(180deg,#ff6f75,#e4202b 65%,#bd131e);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.tn-sell__steps li:nth-child(2)>span{background:linear-gradient(180deg,#4ae784,#16a34a)}
.tn-sell__steps b{display:block;font-family:var(--tn-display);font-size:14.5px}
.tn-sell__steps small{color:#aebbb5;font-size:12.5px}

/* App download section */
.tn-app{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:center;margin:26px 0 0;padding:44px 44px 0;border-radius:28px;
  background:radial-gradient(420px 260px at 100% 0%,rgba(34,197,94,.22),transparent 70%),radial-gradient(420px 260px at 0% 100%,rgba(228,32,43,.14),transparent 70%),linear-gradient(135deg,#ffffff,#eef6f1 60%,#fdf0f1);
  border:1px solid rgba(255,255,255,.95);box-shadow:0 30px 60px -34px rgba(15,23,32,.45),inset 0 1px 0 #fff}
.tn-app__copy{padding-bottom:44px}
.tn-pill--dark{color:var(--tn-green-dark);background:rgba(34,197,94,.12);border-color:rgba(22,163,74,.3)}
.tn-app h2{margin:14px 0 8px;font-size:clamp(24px,3vw,34px);line-height:1.15;letter-spacing:-.03em}
.tn-app p{margin:0 0 16px;color:#4b5563;font-size:15.5px}
.tn-app ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:9px}
.tn-app li{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;color:#2b3440}
.tn-app li .tn-i{flex:none;width:22px;height:22px;padding:4px;border-radius:50%;color:#fff;background:var(--tn-green-dark);stroke-width:3.2}
.tn-app .app-badges{justify-content:flex-start}
.tn-app .badge-link img{height:42px!important}
.tn-app__visual{display:flex;justify-content:center;align-self:end}
.tn-phone{position:relative;width:230px;aspect-ratio:9/17.5;border-radius:36px 36px 0 0;border:7px solid #0b1210;border-bottom:0;background:linear-gradient(180deg,#f6f8f7,#e9f0ec);padding:26px 12px 0;box-shadow:0 30px 50px -20px rgba(0,0,0,.55);transform:rotate(-4deg) translateY(8px);overflow:hidden}
.tn-phone__notch{position:absolute;top:8px;left:50%;width:70px;height:16px;transform:translateX(-50%);border-radius:99px;background:#0b1210}
.tn-phone__top{display:flex;align-items:center;justify-content:space-between;margin:6px 2px 10px}
.tn-phone__top b{width:58px;height:12px;border-radius:99px;background:linear-gradient(90deg,var(--tn-red),var(--tn-green))}
.tn-phone__top i{width:22px;height:22px;border-radius:50%;background:linear-gradient(180deg,#ff6f75,#e4202b)}
.tn-phone__search{height:30px;border-radius:12px;background:#fff;box-shadow:0 6px 12px -8px rgba(0,0,0,.4)}
.tn-phone__chips{display:flex;gap:6px;margin:10px 0}
.tn-phone__chips s{flex:1;height:22px;border-radius:99px;background:rgba(228,32,43,.14)}
.tn-phone__chips s:nth-child(2){background:rgba(34,197,94,.2)}
.tn-phone__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tn-phone__grid u{aspect-ratio:1/1.05;border-radius:12px;background:linear-gradient(160deg,#cdd8d2,#f1f5f3);box-shadow:0 8px 14px -10px rgba(0,0,0,.45)}
.tn-phone__grid u:nth-child(2){background:linear-gradient(160deg,#f7c9cc,#fdeeee)}
.tn-phone__grid u:nth-child(3){background:linear-gradient(160deg,#bfe8cf,#eefaf2)}
.tn-phone__nav{position:absolute;left:0;right:0;bottom:0;height:40px;display:flex;align-items:center;justify-content:space-around;background:#fff;box-shadow:0 -6px 14px -8px rgba(0,0,0,.3)}
.tn-phone__nav s{width:16px;height:16px;border-radius:5px;background:#c9d1ce}
.tn-phone__nav s.on{width:26px;height:26px;border-radius:50%;background:linear-gradient(180deg,#ff6f75,#e4202b);margin-top:-14px;box-shadow:0 8px 14px -6px rgba(228,32,43,.7)}

/* Sections on smaller screens */
@media (max-width:900px){
  .tn-how{grid-template-columns:1fr;gap:26px}
  .tn-sell{grid-template-columns:1fr;padding:32px 22px;gap:24px}
  .tn-sell__steps li:nth-child(2){margin-left:0}
  .tn-app{grid-template-columns:1fr;padding:32px 22px 0;gap:8px}
  .tn-app__copy{padding-bottom:6px}
  .tn-phone{width:200px}
}
@media (max-width:768px){
  .tn-locchip{padding:9px 13px;font-size:13px}
  .tn-vcard{flex-basis:150px}
  .tn-app .badge-link img{height:38px!important}
}
@media (prefers-reduced-motion:reduce){.tn-sell::before{animation:none!important}}


/* =====================================================================
   v1.14 — Modern single listing page
   Order: category, title, meta/favourite, images, details, description,
   vendor, share, then the existing related listings section.
   ===================================================================== */
.tn-orig-hidden{display:none!important}
.tn-lp-on .hp-listing--view-page
.tn-lp{
  width:100%;
  max-width:none;
  margin:0 0 28px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* Header: category -> title -> price -> date/favourite */
.tn-lp__head{
  padding:6px 2px 0;
}
.tn-lp__category{margin:0 0 10px}
.tn-lp__category-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(228,32,43,.08);
  border:1px solid rgba(228,32,43,.13);
  color:var(--tn-red);
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}
.hp-page .tn-lp__title h1,
.hp-page .tn-lp__title [class*="hp-listing__title"]{
  margin:0!important;
  padding:0!important;
  max-width:920px;
  font-family:var(--tn-display)!important;
  font-size:clamp(28px,5vw,44px)!important;
  line-height:1.08!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
  color:#101820!important;
}
.tn-lp__title .hp-page__title::after,
.tn-lp__title [class*="__title"]::after{display:none!important}
.tn-lp__price{
  margin:12px 0 0;
  font-family:var(--tn-display);
  font-size:clamp(24px,4vw,34px);
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.035em;
  color:var(--tn-red);
}
.tn-lp__meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:18px;
}
.tn-lp__meta-card{
  min-width:0;
  min-height:64px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 15px;
  border:1px solid #e8ebee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px -18px rgba(15,23,32,.34);
}
.tn-lp__meta-icon{
  flex:none;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--tn-red);
  background:rgba(228,32,43,.08);
  font-size:17px;
}
.tn-lp__meta-card small{
  display:block;
  margin-bottom:2px;
  color:#7a838d;
  font-size:10px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.tn-lp__meta-card b{
  display:block;
  color:#18212a;
  font-family:var(--tn-font)!important;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}
.tn-lp__meta-card--favorite{padding:0}
.tn-lp__favorite{
  width:100%;
  min-height:64px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  padding:12px 15px!important;
  margin:0!important;
  border:0!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#18212a!important;
  font-family:var(--tn-font)!important;
  font-size:14px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.tn-lp__favorite:hover{color:var(--tn-red)!important;background:#fff8f8!important}
.tn-lp__favorite .tn-i{width:20px;height:20px;color:var(--tn-red)}
.tn-lp__favorite.is-active,
.tn-lp__favorite.is-active .tn-i{color:var(--tn-red)!important}
.tn-lp__favorite [class*="icon"],.tn-lp__favorite i{margin:0!important}

/* Image gallery */
.tn-lp__gallery{
  width:100%;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid #eceff1;
  box-shadow:0 18px 42px -28px rgba(15,23,32,.38);
}
.tn-lp__gallery:empty{display:none}
.tn-lp__gallery [class*="hp-listing__images"]{margin:0!important;border-radius:22px!important;overflow:hidden!important}
.tn-lp__gallery img{border-radius:0!important;width:100%;object-fit:cover}

/* Shared section card */
.tn-lp__details,
.tn-lp__desc,
.tn-lp__contact,
.tn-lp__seller,
.tn-lp__share{
  width:100%;
  padding:22px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e8ebee;
  box-shadow:0 14px 34px -26px rgba(15,23,32,.34);
}
.tn-lp__section-head{margin:0 0 16px}
.tn-lp__details,.tn-lp__desc,.tn-lp__contact,.tn-lp__seller,.tn-lp__share{margin:0}
.tn-lp__details + .tn-lp__desc,
.tn-lp__desc + .tn-lp__contact,
.tn-lp__contact + .tn-lp__seller,
.tn-lp__seller + .tn-lp__share{padding-top:4px}
.hp-page .tn-lp__section-head h2{
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  font-family:var(--tn-display)!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:-.025em!important;
  color:#111a22!important;
}
.hp-page .tn-lp__section-head h2::before{
  content:"";
  width:4px;
  height:21px;
  flex:none;
  border-radius:999px;
  background:linear-gradient(180deg,var(--tn-red),var(--tn-green));
}

/* Listing details grid — labels and values intentionally use different type */
.tn-spec{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0;
  padding:0;
}
.tn-spec>div{
  min-width:0;
  padding:14px 15px;
  border-radius:15px;
  background:#f8f9fa;
  border:1px solid #edf0f2;
}
.tn-spec dt{
  margin:0;
  font-family:var(--tn-font)!important;
  color:#7a838d;
  font-size:10px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.tn-spec dd{
  margin:5px 0 0;
  font-family:var(--tn-display)!important;
  color:#17212b;
  font-size:15px;
  line-height:1.4;
  font-weight:600;
  overflow-wrap:anywhere;
}
.tn-spec dd a{
  color:#17212b;
  text-decoration:none;
  border-bottom:1px dashed rgba(228,32,43,.45);
}
.tn-spec dd a:hover{color:var(--tn-red)}

/* Description */
.hp-page .tn-lp__desc [class*="hp-listing__description"],
.hp-page .tn-lp__description-content{
  margin:0!important;
  color:#46515c;
  font-family:var(--tn-font)!important;
  font-size:15px;
  line-height:1.78;
}
.hp-page .tn-lp__desc [class*="hp-listing__description"] p{margin:0 0 1em}
.hp-page .tn-lp__desc [class*="hp-listing__description"]>:last-child{margin-bottom:0}

/* Contact buttons */
.tn-lp__contact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tn-contact-btn{
  min-height:48px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:11px 14px!important;
  border-radius:13px!important;
  border:1px solid #e6e9eb!important;
  background:#f8f9fa!important;
  color:#17212b!important;
  font-family:var(--tn-font)!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.tn-contact-btn:hover{transform:translateY(-1px);color:var(--tn-red)!important}
.tn-contact-btn--wa{background:#eafaf0!important;color:#128c45!important;border-color:#ccefd9!important}
.tn-contact-btn--wa .tn-wa-ic{width:19px;height:19px}
.tn-contact-btn--call .tn-i{width:18px;height:18px;color:var(--tn-red)}

/* Vendor */
.tn-lp__seller:empty{display:none}
.tn-lp__seller>.tn-vendor{margin:0!important}
.tn-lp__seller .tn-vendor{box-shadow:none!important}

/* Share */
.tn-lp__share-body{display:flex;justify-content:flex-start;align-items:center;gap:10px}
.tn-lp__share-body [class*="share"],
.tn-lp__share-body [class*="social"]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tn-lp__share-body a,
.tn-lp__share-body button{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border-radius:50%!important;
}

/* Desktop: wider, more breathing room */
@media (min-width:769px){
  .tn-lp{gap:20px;margin-bottom:34px}
  .tn-lp__head{padding-top:10px}
  .tn-spec{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:768px){
  .tn-lp{gap:14px;margin-top:0}
  .tn-lp__head{padding:2px 0 0}
  .hp-page .tn-lp__title h1,
  .hp-page .tn-lp__title [class*="hp-listing__title"]{font-size:clamp(27px,8vw,34px)!important;line-height:1.1!important}
  .tn-lp__meta{gap:9px;margin-top:15px}
  .tn-lp__meta-card{min-height:60px;padding:10px 11px}
  .tn-lp__favorite{min-height:60px;padding:10px!important;font-size:13px!important}
  .tn-lp__gallery{border-radius:17px}
  .tn-lp__gallery [class*="hp-listing__images"]{border-radius:17px!important}
  .tn-lp__details,.tn-lp__desc,.tn-lp__contact,.tn-lp__seller,.tn-lp__share{padding:0;border-radius:0}
  .tn-spec{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tn-spec>div{padding:12px 11px;border-radius:13px}
  .tn-spec dd{font-size:14px}
  .tn-lp__contact-row{grid-template-columns:1fr}
}

@media (max-width:430px){
  .tn-lp__meta-card{gap:8px}
  .tn-lp__meta-icon{width:34px;height:34px;border-radius:10px}
  .tn-lp__meta-card small{font-size:9px}
  .tn-lp__meta-card b{font-size:12.5px}
}



/* Native share fallback */
.tn-native-share{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.tn-native-share a,.tn-native-share button{
  width:42px!important;height:42px!important;min-width:42px!important;
  display:grid!important;place-items:center!important;padding:0!important;
  border-radius:50%!important;border:1px solid #e4e8ea!important;
  background:#f8f9fa!important;color:#17212b!important;
  font-family:var(--tn-display)!important;font-size:15px!important;font-weight:800!important;
  cursor:pointer!important;transition:transform .16s,background .16s,color .16s!important;
}
.tn-native-share a:hover,.tn-native-share button:hover{transform:translateY(-2px);background:#fff!important;color:var(--tn-red)!important}
.tn-native-share .tn-copy-share.is-copied{background:#eafaf0!important;color:var(--tn-green-dark)!important}
.tn-native-share .tn-i{width:18px;height:18px}

/* =====================================================================
   v1.15 — Responsive single listing refinement
   Desktop: full-width editorial layout with a right sidebar.
   Mobile: compact, stacked layout with smaller media/title.
   ===================================================================== */

/* The single listing should use the page width, not resemble one giant card. */
.tn-lp{
  width:min(1240px, calc(100% - 40px));
  max-width:none;
  margin:0 auto 40px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  grid-template-areas:
    "head head"
    "gallery sidebar-contact"
    "details sidebar-contact"
    "desc sidebar-seller"
    "desc sidebar-share";
  column-gap:30px;
  row-gap:22px;
  align-items:start;
}
.tn-lp__head{grid-area:head;min-width:0;padding:8px 0 4px}
.tn-lp__gallery{grid-area:gallery;min-width:0;max-width:100%;}
.tn-lp__details{grid-area:details;min-width:0}
.tn-lp__desc{grid-area:desc;min-width:0}
.tn-lp__contact{grid-area:sidebar-contact;min-width:0}
.tn-lp__seller{grid-area:sidebar-seller;min-width:0}
.tn-lp__share{grid-area:sidebar-share;min-width:0}

/* Desktop title/media scale: deliberately restrained. */
.hp-page .tn-lp__title h1,
.hp-page .tn-lp__title [class*="hp-listing__title"]{
  max-width:900px;
  font-size:clamp(30px, 3.1vw, 40px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.tn-lp__price{font-size:28px;line-height:1.1;margin-top:10px}

/* Date/favourite remain a compact two-item strip, not two huge cards. */
.tn-lp__meta{
  max-width:520px;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:15px;
}
.tn-lp__meta-card{min-height:52px;padding:9px 12px;border-radius:12px;box-shadow:none;background:#fafafa}
.tn-lp__meta-icon{width:32px;height:32px;border-radius:9px;font-size:15px}
.tn-lp__meta-card small{font-size:9px}
.tn-lp__meta-card b{font-size:13px}
.tn-lp__favorite{min-height:52px;font-size:13px!important;border-radius:12px!important}

/* Gallery: controlled height instead of a huge full-width image. */
.tn-lp__gallery{
  border-radius:16px;
  box-shadow:none;
  background:#f5f6f7;
  border:1px solid #e5e8ea;
}
.tn-lp__gallery [class*="hp-listing__images"]{
  border-radius:16px!important;
  background:#f5f6f7!important;
  max-height:500px;
}
.tn-lp__gallery [class*="hp-listing__images"] img{
  width:100%!important;
  height:auto!important;
  max-height:500px!important;
  object-fit:contain!important;
  background:#f5f6f7;
}

/* Main content is open and editorial on desktop, not a stack of floating boxes. */
.tn-lp__details,
.tn-lp__desc{
  padding:4px 0 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-top:1px solid #e5e8ea;
  padding-top:22px;
}
.tn-lp__section-head{margin-bottom:14px}
.tn-spec{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #edf0f2;border-left:1px solid #edf0f2}
.tn-spec>div{
  padding:14px 16px;
  border-radius:0;
  background:#fff;
  border:0;
  border-right:1px solid #edf0f2;
  border-bottom:1px solid #edf0f2;
}

/* Sidebar cards: seller/contact/share live here on desktop. */
.tn-lp__contact,
.tn-lp__seller,
.tn-lp__share{
  padding:20px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e4e8ea;
  box-shadow:0 10px 28px -22px rgba(15,23,32,.35);
}
.tn-lp__contact{position:sticky;top:88px}
.tn-lp__contact-row{grid-template-columns:1fr;gap:9px}
.tn-contact-btn{min-height:46px;border-radius:11px!important}
.tn-lp__seller,.tn-lp__share{margin-top:0}
.tn-lp__seller .tn-vendor{padding:0!important}
.tn-lp__share-body{justify-content:flex-start}

/* Keep the related listings area outside the listing frame and visually separate. */
.tn-lp + *{margin-top:18px}

@media (max-width:768px){
  .tn-lp{
    width:calc(100% - 24px);
    margin:0 auto 28px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .tn-lp__head{padding:2px 0 0}
  .hp-page .tn-lp__title h1,
  .hp-page .tn-lp__title [class*="hp-listing__title"]{
    max-width:none;
    font-size:clamp(24px, 7.2vw, 30px)!important;
    line-height:1.1!important;
    letter-spacing:-.035em!important;
  }
  .tn-lp__price{font-size:23px;margin-top:8px}
  .tn-lp__meta{max-width:none;gap:8px;margin-top:12px}
  .tn-lp__meta-card{min-height:48px;padding:8px 9px}
  .tn-lp__meta-icon{width:29px;height:29px;border-radius:8px}
  .tn-lp__meta-card small{font-size:8px}
  .tn-lp__meta-card b{font-size:11.5px}
  .tn-lp__favorite{min-height:48px;font-size:11.5px!important;padding:8px!important}
  .tn-lp__gallery{border-radius:13px}
  .tn-lp__gallery [class*="hp-listing__images"]{border-radius:13px!important;max-height:330px}
  .tn-lp__gallery [class*="hp-listing__images"] img{max-height:330px!important}
  .tn-lp__details,.tn-lp__desc{
    padding:17px 0 0;
    border-top:1px solid #e5e8ea;
    border-radius:0;
    background:transparent;
  }
  .tn-spec{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .tn-spec>div{padding:11px 10px}
  .tn-spec dd{font-size:13px}
  .tn-lp__contact,.tn-lp__seller,.tn-lp__share{
    padding:16px;
    border-radius:15px;
  }
  .tn-lp__contact{position:static}
}

@media (max-width:430px){
  .tn-lp{width:calc(100% - 18px)}
  .hp-page .tn-lp__title h1,
  .hp-page .tn-lp__title [class*="hp-listing__title"]{font-size:24px!important}
  .tn-lp__gallery [class*="hp-listing__images"],
  .tn-lp__gallery [class*="hp-listing__images"] img{max-height:285px!important}
  .tn-spec>div{padding:10px 9px}
  .tn-spec dt{font-size:8px}
  .tn-spec dd{font-size:12px}
}


/* =====================================================================
   v1.16 — Desktop listing density / gallery correction
   Fill the available desktop canvas and eliminate oversized dead space.
   ===================================================================== */
@media (min-width:769px){
  .tn-lp{
    width:min(1380px, calc(100% - 48px));
    grid-template-columns:minmax(0, 1fr) 350px;
    column-gap:28px;
    row-gap:24px;
  }

  /* Use the complete main-column width for the gallery. Some HivePress
     gallery wrappers otherwise keep the image at its intrinsic width. */
  .tn-lp__gallery,
  .tn-lp__gallery > *,
  .tn-lp__gallery [class*="hp-listing__images"],
  .tn-lp__gallery [class*="hp-listing__images"] > *,
  .tn-lp__gallery [class*="carousel"],
  .tn-lp__gallery [class*="carousel"] > *{
    width:100%!important;
    max-width:none!important;
  }

  .tn-lp__gallery{
    min-height:500px;
    height:500px;
    overflow:hidden!important;
    border-radius:18px;
    background:#eef0f1;
  }

  .tn-lp__gallery [class*="hp-listing__images"]{
    height:500px!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  .tn-lp__gallery [class*="hp-listing__images"] img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:500px!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* If HivePress places thumbnails beside/below the main image, keep them
     compact while allowing the main image to occupy the full canvas. */
  .tn-lp__gallery [class*="thumbnail"],
  .tn-lp__gallery [class*="thumbs"]{
    max-height:74px!important;
  }

  /* Give the right rail enough visual weight and keep its content close
     together instead of leaving a large empty column. */
  .tn-lp__contact,
  .tn-lp__seller,
  .tn-lp__share{
    width:100%;
  }
  .tn-lp__seller,
  .tn-lp__share{margin-top:0;}

  .tn-lp__details{padding-top:24px;}
  .tn-lp__desc{padding-top:24px;}
}


/* =====================================================================
   v1.16.6 — Desktop listing: real two-column layout (no dead space)
   Main column and sidebar are now independent stacks, so sidebar cards
   sit directly under each other instead of sharing rows with the gallery.
   ===================================================================== */
.tn-lp__main,.tn-lp__side{display:flex;flex-direction:column;gap:18px;min-width:0}
.tn-lp__side>[hidden]{display:none!important}

@media (min-width:769px){
  .tn-lp{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    grid-template-areas:none;
    grid-template-rows:auto;
    column-gap:28px;
    row-gap:14px;
    align-items:start;
  }
  .tn-lp__head{grid-area:auto;grid-column:1 / -1}
  .tn-lp__main,.tn-lp__side{grid-area:auto;grid-row:2}
  .tn-lp__main{grid-column:1;gap:22px}
  .tn-lp__side{grid-column:2;gap:16px}
  .tn-lp__gallery,.tn-lp__details,.tn-lp__desc,
  .tn-lp__contact,.tn-lp__seller,.tn-lp__share{grid-area:auto}
  .tn-lp__contact{position:static}
}
@media (min-width:1025px){
  .tn-lp{grid-template-columns:minmax(0,1fr) 360px}
}
@media (min-width:769px) and (min-height:760px){
  .tn-lp__side{position:sticky;top:88px}
}

/* Gallery: show the whole image (no cropped flyers) over a soft blurred fill */
@media (min-width:769px){
  .tn-lp__gallery{position:relative;isolation:isolate;height:auto;min-height:0;aspect-ratio:16/10;max-height:560px;background:#e9edef}
  .tn-lp__gallery::before{
    content:"";position:absolute;inset:-24px;z-index:-1;
    background:var(--tn-gal,none) center/cover no-repeat;
    filter:blur(26px) saturate(1.15);opacity:.6;
  }
  .tn-lp__gallery [class*="hp-listing__images"]{height:100%!important;background:transparent!important}
  .tn-lp__gallery [class*="hp-listing__images"] img{
    height:100%!important;max-height:none!important;object-fit:contain!important;background:transparent;
  }
}

/* Details grid: last row stretches so there is no orphan empty cell */
.tn-spec>div:last-child:nth-child(3n+1){grid-column:1 / -1}
.tn-spec>div:last-child:nth-child(3n+2){grid-column:span 2}
@media (max-width:768px){
  .tn-spec>div:last-child:nth-child(3n+1),.tn-spec>div:last-child:nth-child(3n+2){grid-column:auto}
  .tn-spec>div:last-child:nth-child(odd){grid-column:1 / -1}
}

/* v1.17.1 — belt and braces: the app's native bar replaces ours (iOS included) */
html.tn-in-app .tn-bottomnav,
html.tn-in-app nav.tn-bottomnav{display:none!important;visibility:hidden!important;height:0!important;pointer-events:none!important}
html.tn-in-app body,html.tn-in-app body.tn-lp-on{padding-bottom:0!important}


/* =====================================================================
   v1.16.8 — Single listing stability fix
   Keep the custom listing layout, but never reserve a large blank media
   canvas when HivePress has not produced a usable image yet.
   ===================================================================== */
.tn-lp__gallery{
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  max-height:none!important;
}
.tn-lp__gallery::before{display:none!important}
.tn-lp__gallery [class*="hp-listing__images"]{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#f5f6f7!important;
}
.tn-lp__gallery [class*="hp-listing__images"] img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:620px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f5f6f7!important;
}
.tn-lp__gallery:empty{display:none!important}
.tn-lp__gallery.tn-gallery-empty{display:none!important}
.tn-lp__main{min-width:0!important}
.tn-lp__side{min-width:0!important}
@media (max-width:768px){
  .tn-lp__gallery [class*="hp-listing__images"] img{max-height:420px!important}
}

/* v1.17.1 — Self-contained single-listing media renderer
   The native HivePress gallery remains untouched for its own JS. The
   TradeNest layout displays a safe copy so carousel initialization cannot
   leave an empty media canvas. */
.tn-lp__gallery{padding:0!important;min-height:0!important;height:auto!important;aspect-ratio:auto!important;max-height:none!important;overflow:hidden!important;background:#eef0f1!important}
.tn-lp__gallery .tn-gallery-native{display:flex;flex-direction:column;width:100%;min-width:0}
.tn-lp__gallery .tn-gallery-main{width:100%;min-height:0;background:#eef0f1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tn-lp__gallery .tn-gallery-main>img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:620px!important;object-fit:contain!important;object-position:center!important;background:#eef0f1!important;border-radius:0!important}
.tn-lp__gallery .tn-gallery-thumbs{display:flex;gap:8px;padding:9px;overflow-x:auto;background:#fff;border-top:1px solid #eceff1;scrollbar-width:none}
.tn-lp__gallery .tn-gallery-thumbs::-webkit-scrollbar{display:none}
.tn-lp__gallery .tn-gallery-thumb{flex:0 0 64px;width:64px;height:58px;padding:0;border:2px solid transparent;border-radius:9px;background:#f3f5f6;overflow:hidden;cursor:pointer}
.tn-lp__gallery .tn-gallery-thumb.is-active{border-color:var(--tn-red)}
.tn-lp__gallery .tn-gallery-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.tn-lp__gallery.tn-gallery-empty{display:none!important}
@media (max-width:768px){
  .tn-lp__gallery .tn-gallery-main>img{max-height:420px!important}
  .tn-lp__gallery .tn-gallery-thumb{flex-basis:58px;width:58px;height:52px}
}

/* =====================================================================
   v1.17.2 — Full-width single listing sections
   Keep the media fixed from v1.17.1, but present the listing content as
   one continuous full-width page instead of boxed/sidebar cards.
   ===================================================================== */
@media (min-width:769px){
  .tn-lp{
    width:100%;
    max-width:none;
    margin:0 0 40px;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:none;
    column-gap:0;
    row-gap:22px;
  }

  /* Flatten the two internal desktop stacks so every listing section can
     use the complete available page width. */
  .tn-lp__main,
  .tn-lp__side{
    display:contents;
  }

  .tn-lp__head,
  .tn-lp__gallery,
  .tn-lp__details,
  .tn-lp__desc,
  .tn-lp__contact,
  .tn-lp__seller,
  .tn-lp__share{
    grid-column:1;
    width:100%!important;
    max-width:none!important;
  }

  /* Remove the old sidebar/card treatment. */
  .tn-lp__contact,
  .tn-lp__seller,
  .tn-lp__share{
    padding:22px 0 0!important;
    margin:0!important;
    border:0!important;
    border-top:1px solid #e5e8ea!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    position:static!important;
  }

  .tn-lp__details,
  .tn-lp__desc{
    width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .tn-lp__contact-row{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:768px){
  .tn-lp{
    width:100%;
    max-width:none;
    margin:0 0 28px;
  }
  .tn-lp__contact,
  .tn-lp__seller,
  .tn-lp__share{
    width:100%!important;
    padding:17px 0 0!important;
    margin:0!important;
    border:0!important;
    border-top:1px solid #e5e8ea!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}


/* =====================================================================
   v1.17.3 — True full-width single listing sections + no web bottom nav
   The iOS/Android WebView provides its own native bottom navigation, so
   the theme bottom navigation is removed. Single-listing content uses one
   full-width editorial column at every breakpoint; vendor/contact/share
   sections no longer inherit sidebar/card treatment.
   ===================================================================== */

/* Never reserve space for the theme's removed mobile bottom navigation. */
body{padding-bottom:0!important}
html.tn-in-app body{padding-bottom:0!important}
.tn-bottomnav{display:none!important}

/* One continuous listing column — no desktop sidebar. */
.tn-lp{
  width:100%!important;
  max-width:none!important;
  margin:0 0 40px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
}
.tn-lp__main,
.tn-lp__side{
  display:contents!important;
}
.tn-lp__head,
.tn-lp__gallery,
.tn-lp__details,
.tn-lp__desc,
.tn-lp__contact,
.tn-lp__seller,
.tn-lp__share{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-column:auto!important;
}

/* Full-width editorial sections — no floating cards or side rails. */
.tn-lp__details,
.tn-lp__desc,
.tn-lp__contact,
.tn-lp__seller,
.tn-lp__share{
  padding:22px 0 0!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid #e5e8ea!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  position:static!important;
}

/* Description and details content occupy the entire listing width. */
.tn-lp__desc [class*="hp-listing__description"],
.tn-lp__description-content,
.tn-lp__contact-row,
.tn-lp__share-body,
.tn-lp__share-body .tn-native-share{
  width:100%!important;
  max-width:none!important;
}

/* Contact actions span the available width instead of looking like a
   narrow sidebar stack. */
.tn-lp__contact-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.tn-lp__contact-row > *{
  width:100%!important;
  max-width:none!important;
}

/* Vendor profile: preserve the attractive profile styling, but make the
   profile itself a true full-width section rather than a narrow card. */
.tn-lp__seller>.tn-vendor,
.tn-lp__seller .tn-vendor,
.tn-lp__seller .hp-vendor--view-page{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 22px 26px!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
.tn-lp__seller .tn-vendor::before{
  margin-left:-22px!important;
  margin-right:-22px!important;
}

/* Share controls use the whole section width without a containing card. */
.tn-lp__share-body{justify-content:flex-start!important}

@media (max-width:768px){
  .tn-lp{
    width:100%!important;
    margin:0 0 28px!important;
    gap:16px!important;
  }
  .tn-lp__details,
  .tn-lp__desc,
  .tn-lp__contact,
  .tn-lp__seller,
  .tn-lp__share{
    padding:17px 0 0!important;
    border-top:1px solid #e5e8ea!important;
  }
  .tn-lp__contact-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .tn-lp__contact-row > *{width:100%!important}
  .tn-lp__seller>.tn-vendor,
  .tn-lp__seller .tn-vendor,
  .tn-lp__seller .hp-vendor--view-page{
    padding:0 0 26px!important;
  }
  .tn-lp__seller .tn-vendor::before{margin-left:0!important;margin-right:0!important}
}


/* =====================================================================
   v1.17.4 — Desktop marketplace layout + resilient listing media
   Desktop uses a polished two-column layout; mobile remains single-column.
   ===================================================================== */
@media (min-width: 1024px){
  .tn-lp{
    width:min(1320px, calc(100% - 64px))!important;
    max-width:1320px!important;
    margin:0 auto 56px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 360px!important;
    grid-template-areas:
      "head head"
      "main side"!important;
    column-gap:30px!important;
    row-gap:26px!important;
    align-items:start!important;
  }
  .tn-lp__main{
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    min-width:0!important;
    grid-area:main!important;
  }
  .tn-lp__side{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    min-width:0!important;
    grid-area:side!important;
    position:sticky!important;
    top:92px!important;
  }
  .tn-lp__head{grid-area:head!important;width:100%!important;padding:12px 0 0!important}

  .tn-lp__gallery{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    border-radius:22px!important;
    overflow:hidden!important;
    background:#f1f4f5!important;
    border:1px solid #e4e9eb!important;
    box-shadow:0 18px 48px -30px rgba(15,23,32,.42)!important;
  }
  .tn-lp__gallery .tn-gallery-native{width:100%!important}
  .tn-lp__gallery .tn-gallery-main{
    min-height:0!important;
    max-height:620px!important;
    background:#f1f4f5!important;
  }
  .tn-lp__gallery .tn-gallery-main>img{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:620px!important;
    object-fit:contain!important;
    background:#f1f4f5!important;
  }

  .tn-lp__details,.tn-lp__desc{
    padding:26px 0 0!important;
    border-top:1px solid #e3e8ea!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .tn-lp__details .tn-spec{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;border:0!important}
  .tn-lp__details .tn-spec>div{
    border:1px solid #e8edef!important;
    border-radius:14px!important;
    background:#fff!important;
    padding:15px 16px!important;
  }

  .tn-lp__contact,.tn-lp__seller,.tn-lp__share{
    width:100%!important;
    padding:20px!important;
    margin:0!important;
    border:1px solid #e4e9eb!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 14px 34px -26px rgba(15,23,32,.35)!important;
    position:static!important;
  }
  .tn-lp__contact-row{grid-template-columns:1fr!important;gap:10px!important}
  .tn-lp__contact-row>*{width:100%!important}
  .tn-lp__seller>.tn-vendor,.tn-lp__seller .tn-vendor,.tn-lp__seller .hp-vendor--view-page{
    width:100%!important;max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important
  }
  .tn-lp__seller .tn-vendor::before{display:none!important}
  .tn-lp__share-body{justify-content:flex-start!important}
}

@media (min-width:769px) and (max-width:1023px){
  .tn-lp{
    width:min(920px,calc(100% - 40px))!important;
    margin:0 auto 44px!important;
  }
  .tn-lp__main,.tn-lp__side{display:flex!important;flex-direction:column!important;gap:20px!important}
  .tn-lp__side{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  .tn-lp__contact,.tn-lp__seller,.tn-lp__share{width:100%!important}
}

@media (max-width:768px){
  .tn-lp__gallery .tn-gallery-main{min-height:0!important}
  .tn-lp__gallery .tn-gallery-main>img{max-height:420px!important}
}


/* =====================================================================
   v1.17.6 — Desktop vendor profile image: prevent clipping
   The HivePress vendor image wrapper can carry its own fixed dimensions
   or overflow rules. On desktop this caused the circular profile photo
   to appear partially hidden. Keep the decorative header behind the
   avatar and give the actual image wrapper a predictable visible box.
   ===================================================================== */
@media (min-width:769px){
  .tn-lp__seller .tn-vendor,
  .tn-lp__seller .hp-vendor--view-page{
    overflow:hidden!important;
    position:relative!important;
  }
  .tn-lp__seller .tn-vendor::before,
  .tn-lp__seller .hp-vendor--view-page::before{
    position:absolute!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:auto!important;
    height:96px!important;
    margin:0!important;
    z-index:0!important;
  }
  .tn-lp__seller .tn-vendor [class*="__image"],
  .tn-lp__seller .hp-vendor--view-page [class*="__image"]{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:120px!important;
    min-width:120px!important;
    max-width:120px!important;
    height:120px!important;
    min-height:120px!important;
    max-height:120px!important;
    padding:0!important;
    margin:38px auto 14px!important;
    overflow:visible!important;
    float:none!important;
    background:transparent!important;
    line-height:0!important;
  }
  .tn-lp__seller .tn-vendor [class*="__image"] img,
  .tn-lp__seller .hp-vendor--view-page [class*="__image"] img,
  .tn-lp__seller .tn-vendor > img,
  .tn-lp__seller .hp-vendor--view-page > img{
    position:relative!important;
    z-index:3!important;
    display:block!important;
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
    margin:0 auto 14px!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:50%!important;
    overflow:hidden!important;
    box-sizing:content-box!important;
  }
}


/* v1.17.7 — listing media: no placeholder canvas before a real image loads. */
.tn-lp__gallery.tn-gallery-empty{display:none!important;min-height:0!important;height:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.tn-lp__gallery .tn-gallery-main>img:not([src]),
.tn-lp__gallery .tn-gallery-main>img[src=""]{display:none!important}
@media (min-width:1024px){
  .tn-lp__gallery.tn-gallery-empty + .tn-lp__details{margin-top:0!important}
}


/* v1.18.0 Salary (jobs) shown like price: bold red after title + bold red in Listing Details */
.tn-spec .tn-spec__salary dd,
.tn-spec .tn-spec__salary dd *{
  color:var(--tn-red)!important;
  font-family:var(--tn-display)!important;
  font-size:clamp(20px,3.2vw,26px)!important;
  font-weight:800!important;
  letter-spacing:-.03em;
  line-height:1.15;
  white-space:nowrap;
}
.tn-spec>.tn-spec__salary{grid-column:1 / -1}

/* =====================================================================
   v1.18.1 — Login / Register / Reset modal + account forms
   (the modal lives outside .hp-page, so it needs its own rules)
   ===================================================================== */
.hp-modal .hp-form__field,
.hp-form--user-login .hp-form__field,
.hp-form--user-register .hp-form__field,
.hp-form--user-password-request .hp-form__field{margin:0 0 16px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.hp-modal .hp-form__label,.hp-modal .hp-field__label,
.hp-form--user-register .hp-form__label,.hp-form--user-login .hp-form__label{
  display:block;margin:0 0 7px!important;font-size:13px!important;font-weight:700!important;letter-spacing:.01em;color:#374151!important}
.hp-modal input[type=text],.hp-modal input[type=email],.hp-modal input[type=password],
.hp-modal input[type=tel],.hp-modal input[type=number],.hp-modal select,
.hp-form--user-login input:not([type=checkbox]):not([type=submit]):not([type=hidden]),
.hp-form--user-register input:not([type=checkbox]):not([type=submit]):not([type=hidden]),
.hp-form--user-password-request input:not([type=submit]):not([type=hidden]){
  display:block;width:100%!important;height:50px!important;min-height:50px!important;margin:0!important;
  padding:0 16px!important;box-sizing:border-box;
  border:1.5px solid #e3e8e6!important;border-radius:14px!important;
  background:#f7f9f8!important;color:var(--tn-text)!important;
  font:500 15px/1.4 var(--tn-font)!important;
  box-shadow:none!important;outline:0!important;
  -webkit-appearance:none;appearance:none;
  transition:border-color .2s,box-shadow .2s,background-color .2s}
.hp-modal input::placeholder{color:#9aa3ad!important;font-weight:400;opacity:1}
.hp-modal input:hover:not(:focus){border-color:#cfd8d4!important}
.hp-modal input:focus,.hp-modal select:focus,
.hp-form--user-login input:focus,.hp-form--user-register input:focus{
  background:#fff!important;border-color:var(--tn-green)!important;
  box-shadow:0 0 0 4px rgba(34,197,94,.15)!important}
/* phone field (flag + code) */
.hp-modal .iti{display:block;width:100%}
.hp-modal .iti input[type=tel],.hp-modal .iti input[type=text]{padding-left:62px!important}
.hp-modal .iti--separate-dial-code input[type=tel],.hp-modal .iti--separate-dial-code input[type=text]{padding-left:100px!important}
.hp-modal .iti__flag-container{top:0;bottom:0}
.hp-modal .iti__selected-flag{border-radius:14px 0 0 14px;background:transparent}
/* first/last name side by side on tablets+ */
@media (min-width:600px){
  .hp-modal .hp-form--user-register .hp-form__fields{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}
  .hp-modal .hp-form--user-register .hp-form__field{grid-column:1 / -1}
  .hp-modal .hp-form--user-register .hp-form__field--first-name,
  .hp-modal .hp-form--user-register .hp-form__field--last-name,
  .hp-modal .hp-form--user-register .hp-form__field--password,
  .hp-modal .hp-form--user-register .hp-form__field--password-confirm{grid-column:auto}
}
/* modal chrome + spacing */
.hp-modal__container{padding:26px 22px 24px!important}
.hp-modal__title{margin:0 0 18px!important;font-size:24px!important}
.hp-modal .hp-form__footer{margin-top:6px!important}
.hp-modal .hp-form__footer .hp-button,.hp-modal button[type=submit]{width:100%;min-height:52px;border-radius:14px}
.hp-modal .hp-form__descriptions,.hp-modal .hp-form__description{font-size:13px;color:var(--tn-muted)}
.hp-modal a{color:var(--tn-red);font-weight:600}
@media (max-width:520px){
  .hp-modal__container{padding:22px 16px 20px!important;border-radius:20px!important}
  .hp-modal .hp-form__field{margin-bottom:14px!important}
}


/* =====================================================================
   v1.19.0 — Sign up / Log in buttons (drawer, homepage hero, desktop header)
   ===================================================================== */
.tn-auth{display:flex;gap:10px}
.tn-auth__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:14px;font-family:var(--tn-display);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:transform .15s,filter .15s,background-color .15s}
.tn-auth__btn:hover{transform:translateY(-1px)}
.tn-auth__btn--solid{color:#fff;background:linear-gradient(180deg,#ff6f75,#e4202b 60%,#bd131e);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 10px 22px -10px rgba(228,32,43,.75)}
.tn-auth__btn--ghost{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.tn-auth--drawer{margin:18px 0 6px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.tn-auth--hero{margin:18px 0 4px;max-width:360px}
.tn-loginlink{font-size:14px;font-weight:600;color:#fff;padding:8px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.3);text-decoration:none}
.tn-loginlink:hover{background:rgba(255,255,255,.1)}
.tn-header__tools .tn-loginlink+.tn-login{margin-left:-6px}
@media (max-width:768px){.tn-auth--hero{max-width:none}}
html.tn-in-app .tn-auth--hero{display:flex}


/* =====================================================================
   v1.20.0 — Dashboard page: full width, no boxes inside boxes
   ===================================================================== */
.tn-page--dash{padding:22px 0 44px}
.tn-dash-wrap{width:100%;max-width:none;margin:0;padding:0 14px}
@media (min-width:769px){.tn-dash-wrap{padding:0 32px}}
@media (min-width:1500px){.tn-dash-wrap{padding:0 56px}}
.tn-page--dash .tn-page__title{margin:0 0 14px}
.tn-dash__content{width:100%;background:none;box-shadow:none;border:0;padding:0;border-radius:0;overflow-wrap:anywhere;word-break:normal}
.tn-dash__content,.tn-dash__content *{box-sizing:border-box}
/* wrappers that only contain one child (the plugin's outer frames) are flattened by main.js */
.tn-dash__content .tn-flat{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
.tn-dash__content .tn-flat::before,.tn-dash__content .tn-flat::after{display:none!important}
/* remaining cards: full width, sane padding on phones, nothing overflowing */
.tn-dash__content input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),
.tn-dash__content select,.tn-dash__content textarea{width:100%!important;max-width:100%!important}
.tn-dash__content img,.tn-dash__content table,.tn-dash__content iframe{max-width:100%}
.tn-dash__content table{display:block;overflow-x:auto}
@media (max-width:768px){
  .tn-dash__content .tn-card-lvl{padding:16px!important;border-radius:18px!important}
}


/* =====================================================================
   v1.21.0 — Unread message badge on the bell
   ===================================================================== */
.tn-bell{position:relative}
.tn-bell--live{display:inline-flex}
.tn-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:99px;background:linear-gradient(180deg,#ff6f75,#e4202b);color:#fff;font:800 11px/1 var(--tn-display);letter-spacing:0;
  border:2px solid #2b3130;box-shadow:0 4px 10px -2px rgba(228,32,43,.7);pointer-events:none}
.tn-badge[hidden]{display:none}
.tn-user__menu .tn-badge{position:static;margin-left:8px;border-color:#fff;vertical-align:middle;box-shadow:none}
.tn-badge.is-pop{animation:tnBadgePop .5s ease}
@keyframes tnBadgePop{0%{transform:scale(.4)}60%{transform:scale(1.25)}100%{transform:scale(1)}}


/* =====================================================================
   v1.21.2 — Remove HivePress's duplicate account dropdown/tab menu
   (Messages / Orders / Settings / Sign Out floating over the page header).
   The account sidebar already lists every item, so the extra copy goes.
   ===================================================================== */
.tn-hide-menu,
.tn-has-acct-sidebar .hp-menu--tabbed:not(.hp-menu--user-account),
.tn-has-acct-sidebar .hp-page__topbar .hp-menu,
.tn-has-acct-sidebar .hp-page__header .hp-menu--tabbed,
.tn-has-acct-sidebar .hp-page__title + .hp-menu,
.tn-has-acct-sidebar [class*="hp-menu--tabbed"]:not([class*="sidebar"] *){display:none!important}


/* =====================================================================
   v1.22.0 — Full animations restored, kept light:
   only transform/opacity animate, the GPU gets a hint, and everything
   pauses while it is off-screen or the tab/app is in the background.
   ===================================================================== */
.tn-appbar,.tn-hv,.tn-sell{will-change:transform}
.tn-slider__track{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;contain:layout paint}
.tn-slider__track>*{transform:translateZ(0)}
.is-offscreen,.is-offscreen *,.is-offscreen::before,.is-offscreen::after,
html.tn-bg *,html.tn-bg *::before,html.tn-bg *::after{animation-play-state:paused!important}


/* =====================================================================
   v1.23.0 — Video uploads (listing gallery + cards)
   ===================================================================== */
.tn-lp__gallery .tn-gallery-main>video{display:block;width:100%;height:auto;max-width:100%;max-height:620px;min-height:220px;background:#000;object-fit:contain;outline:0}
@media (max-width:768px){.tn-lp__gallery .tn-gallery-main>video{max-height:420px}}
.tn-lp__gallery .tn-gallery-thumb{position:relative}
.tn-lp__gallery .tn-gallery-thumb.is-video{background:linear-gradient(135deg,#1c2a23,#0c1511)}
.tn-gallery-play,.tn-playbadge{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;
  background:rgba(228,32,43,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center/62% no-repeat;
  box-shadow:0 4px 12px rgba(0,0,0,.4);pointer-events:none}
.tn-playbadge{width:38px;height:38px;margin:-19px 0 0 -19px}
/* video used as a card/slider picture */
.tn-card__img,.tn-ocard{position:relative}
.tn-vthumb{display:block;width:100%;height:100%;object-fit:cover;background:#101a15;pointer-events:none}
.tn-ocard>.tn-vthumb{position:absolute;inset:0}

.tn-lp__gallery .tn-gallery-thumb.is-video>video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}


/* v1.23.3 — stray HivePress pieces removed */
.tn-hide-menu{display:none!important}
.hp-listing--view-popup,[class*="hp-listing--view-popup"]{display:none!important}
/* location autocomplete suggestions should look like a normal dropdown, not a squeezed box */
.pac-container{z-index:99999!important;min-width:240px;border-radius:14px;box-shadow:0 16px 40px -12px rgba(15,23,32,.35);font-family:var(--tn-font)}
.pac-item{padding:8px 12px;font-size:14px}

/* v1.23.7 — retain HivePress native single-listing details; custom rebuild disabled */
.hp-listing--view-page .hp-listing__attributes,
.hp-listing--view-page .hp-listing__attribute,
.hp-listing--view-page [class*="hp-listing__details"]{visibility:visible;opacity:1;}


/* v1.23.8 — native listing price sits immediately below the title. */
.hp-listing--view-page .tn-listing-price-top {
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin: 10px 0 16px !important;
  padding: 0 !important;
  color: var(--tn-red, #e4202b) !important;
  font-size: clamp(22px, 3.8vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}
.hp-listing--view-page .tn-listing-price-top * {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
.hp-listing--view-page .tn-empty-attributes { display: none !important; }

/* v1.23.9 — hide repeated HivePress attribute rows after cross-area deduplication. */
.hp-listing--view-page .hp-listing__attribute.tn-duplicate-attribute { display:none !important; }
.hp-listing--view-page .hp-listing__attributes.tn-empty-attributes { display:none !important; }
