
:root{--bt-brand:#EF2B32;--bt-brand-dark:#D91F27;--bt-yellow:#FDBD17;--bt-green:#34A853;--bt-blue:#49B9E6;--bt-ink:#17212B;--bt-muted:#66737D;--bt-line:#E8EBEE;--bt-soft:#FFF9F2;--bt-shell:1240px;--bt-shadow:0 18px 55px rgba(23,33,43,.10)}
.bt-ui{background:#fff;color:var(--bt-ink)}.bt-shell{width:min(calc(100% - 36px),var(--bt-shell));margin-inline:auto}.bt-section{padding:72px 0}.bt-section--soft{background:#FAFBFC}.bt-section--compact{padding:34px 0}.bt-eyebrow{display:inline-block;margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--bt-brand)}.bt-eyebrow--light{color:#fff3cf}.bt-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.bt-section-head h2,.bt-business-cta h2,.bt-editorial h2{margin:0;color:var(--bt-ink);font-size:clamp(28px,3vw,42px);line-height:1.1;letter-spacing:-.035em}.bt-text-link{display:inline-flex;align-items:center;gap:8px;font-weight:750;color:var(--bt-brand)}.bt-text-link svg,.bt-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.bt-hero{overflow:hidden;background:radial-gradient(circle at 14% 28%,rgba(253,189,23,.17),transparent 27%),radial-gradient(circle at 90% 36%,rgba(73,185,230,.15),transparent 30%),linear-gradient(90deg,#fffaf1 0%,#fff 51%,#f9fcff 100%)}.bt-hero__inner{min-height:540px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.bt-hero__content{padding:72px 0}.bt-kicker{display:inline-block;color:var(--bt-brand);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.bt-hero h1{max-width:780px;margin:26px 0 18px;font-size:clamp(48px,5.4vw,76px);line-height:.98;letter-spacing:-.055em;color:var(--bt-ink)}.bt-hero p{max-width:640px;margin:0 0 28px;color:var(--bt-muted);font-size:18px;line-height:1.7}.bt-search{display:flex;align-items:center;gap:10px;max-width:760px;padding:9px 9px 9px 18px;border:1px solid rgba(23,33,43,.08);border-radius:17px;background:#fff;box-shadow:0 20px 60px rgba(23,33,43,.10)}.bt-search__icon{display:grid;place-items:center;color:var(--bt-brand)}.bt-search__icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.bt-search input{flex:1;min-width:0;height:50px!important;margin:0!important;padding:0 4px!important;border:0!important;background:transparent!important;box-shadow:none!important}.bt-search button,.bt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:0;border-radius:13px;background:var(--bt-brand);color:#fff!important;font-weight:800}.bt-search button:hover,.bt-btn:hover{background:var(--bt-brand-dark)}.bt-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;color:var(--bt-muted);font-size:13px}.bt-hero__chips a{font-weight:750;color:var(--bt-ink)}.bt-hero__visual{display:grid;place-items:center;min-height:390px}.bt-pin-orbit{position:relative;width:300px;height:300px;border:1px dashed rgba(239,43,50,.22);border-radius:50%;background:radial-gradient(circle,rgba(239,43,50,.05),rgba(73,185,230,.06) 62%,transparent 63%)}.bt-pin-shape{position:absolute;left:50%;top:50%;width:145px;height:145px;transform:translate(-50%,-54%) rotate(45deg);border-radius:50% 50% 50% 10%;background:var(--bt-brand);box-shadow:0 28px 60px rgba(239,43,50,.20)}.bt-pin-shape:after{content:"";position:absolute;width:54px;height:54px;left:45px;top:45px;border-radius:50%;background:#fff}
.bt-category-grid,.bt-place-grid,.bt-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.bt-category-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--bt-line);border-radius:18px;background:#fff;color:var(--bt-ink)!important;transition:.22s ease}.bt-category-card:hover,.bt-place-card:hover{transform:translateY(-3px);box-shadow:var(--bt-shadow)}.bt-category-card__icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:15px;background:var(--bt-soft);font-size:26px}.bt-category-card>span:nth-child(2){display:flex;flex:1;flex-direction:column}.bt-category-card small{margin-top:3px;color:var(--bt-muted);font-size:12px}.bt-category-card__arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.bt-place-card{overflow:hidden;border:1px solid var(--bt-line);border-radius:22px;background:#fff;transition:.25s ease}.bt-place-card__media{position:relative;display:block;overflow:hidden;aspect-ratio:1.45;background:var(--bt-soft)}.bt-place-card__media img{width:100%;height:100%;object-fit:cover}.bt-badge{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.94);font-size:11px;font-weight:800;color:var(--bt-blue)}.bt-place-card__body{padding:18px}.bt-place-card__meta{display:flex;justify-content:space-between;color:#8a989f;font-size:11px;font-weight:750;text-transform:uppercase}.bt-rating{color:#b97500}.bt-place-card h3{margin:8px 0;font-size:19px}.bt-place-card h3 a{color:var(--bt-ink)}.bt-place-card__address{display:flex;gap:7px;color:var(--bt-muted);font-size:13px}.bt-location-card{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid var(--bt-line);border-radius:18px;background:linear-gradient(135deg,#fff,#fffaf2);color:var(--bt-ink)!important}.bt-location-card span{color:var(--bt-muted);font-size:13px}
.bt-editorial{display:grid;grid-template-columns:1fr 1fr;min-height:360px;overflow:hidden;border-radius:28px;background:var(--bt-ink);color:#fff}.bt-editorial__copy{display:flex;flex-direction:column;justify-content:center;padding:48px}.bt-editorial h2{color:#fff}.bt-editorial p{margin:18px 0 25px;color:#cbd3d8;line-height:1.7}.bt-editorial__art{background:radial-gradient(circle at 30% 30%,rgba(253,189,23,.6),transparent 25%),radial-gradient(circle at 65% 42%,rgba(73,185,230,.5),transparent 28%),radial-gradient(circle at 55% 78%,rgba(52,168,83,.5),transparent 26%),linear-gradient(135deg,#ef2b32,#b91f25)}.bt-business-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px 50px;border-radius:28px;background:linear-gradient(120deg,var(--bt-brand-dark),var(--bt-brand));color:#fff}.bt-business-cta h2{color:#fff}.bt-business-cta p{color:#ffe8e9}.bt-btn--light{background:#fff!important;color:var(--bt-brand-dark)!important}.bt-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.bt-trust-grid>div{padding:18px;border:1px solid var(--bt-line);border-radius:16px;background:#fff}.bt-trust-grid strong,.bt-trust-grid span{display:block}.bt-trust-grid span{margin-top:5px;color:var(--bt-muted);font-size:12px}.bt-guide-placeholder,.bt-notice{padding:24px;border:1px dashed var(--bt-line);border-radius:16px;background:#fff;color:var(--bt-muted)}
@media(max-width:980px){.bt-hero__inner{grid-template-columns:1fr}.bt-hero__visual{min-height:290px}.bt-category-grid,.bt-place-grid,.bt-location-grid{grid-template-columns:repeat(2,1fr)}.bt-editorial{grid-template-columns:1fr}.bt-editorial__art{min-height:260px}.bt-business-cta{align-items:flex-start;flex-direction:column}.bt-trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.bt-shell{width:min(calc(100% - 24px),var(--bt-shell))}.bt-section{padding:48px 0}.bt-hero h1{font-size:43px}.bt-search{display:grid;grid-template-columns:28px 1fr}.bt-search button{grid-column:1/-1;width:100%}.bt-category-grid,.bt-place-grid,.bt-location-grid,.bt-trust-grid{grid-template-columns:1fr}.bt-section-head{align-items:flex-start;flex-direction:column}.bt-editorial__copy{padding:34px 26px}.bt-business-cta{padding:34px 26px}}


/* ================================================================
   Topmap v1.2.3 — Native Flatsome Home Sections
   ================================================================ */
.tm-home-section > .section-content{z-index:1}
.tm-home-section .row{max-width:var(--bt-shell)}
.tm-home-hero{background:
  radial-gradient(circle at 14% 28%,rgba(253,189,23,.17),transparent 27%),
  radial-gradient(circle at 90% 36%,rgba(73,185,230,.15),transparent 30%),
  linear-gradient(90deg,#fffaf1 0%,#fff 51%,#f9fcff 100%)}
.tm-home-hero .row{max-width:100%}
.tm-home-hero .col{padding-bottom:0}
.tm-home-hero .bt-hero__inner{width:min(calc(100% - 36px),var(--bt-shell));margin-inline:auto}
.tm-home-toplist h2,.tm-home-guide h2{font-size:clamp(30px,3vw,44px);letter-spacing:-.035em}
.tm-toplist-panel{padding:26px 28px;border:1px solid var(--bt-line);border-radius:22px;background:#fff;box-shadow:var(--bt-shadow)}
.tm-toplist-panel p{display:flex;align-items:center;gap:14px;margin:0;padding:13px 0;border-bottom:1px solid var(--bt-line);color:var(--bt-ink)}
.tm-toplist-panel p:last-child{border-bottom:0}
.tm-toplist-panel strong{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#fff1f2;color:var(--bt-brand)}
.tm-home-guide .box{border-radius:18px;overflow:hidden}
.tm-home-guide .box-image{border-radius:18px;overflow:hidden}
.tm-home-trust{border-top:1px solid var(--bt-line)}
.tm-home-trust .col{padding-bottom:0}
.tm-home-trust p{margin-bottom:0;color:var(--bt-muted);font-size:13px}
.tm-trust-title{color:var(--bt-ink);font-size:14px}
@media(max-width:640px){
  .tm-home-hero .bt-hero__inner{width:min(calc(100% - 24px),var(--bt-shell))}
  .tm-home-trust .col{padding-bottom:12px}
}

/* Topmap v1.2.4 — resilient dynamic data */
.bt-empty-state{display:flex;align-items:center;gap:16px;min-height:110px;padding:24px 26px;border:1px dashed #dfe4e8;border-radius:18px;background:linear-gradient(135deg,#fff,#fbfcfd);color:var(--bt-muted)}
.bt-empty-state__pin{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#fff0f1;color:var(--bt-brand);font-size:16px}
.bt-empty-state strong{display:block;margin-bottom:5px;color:var(--bt-ink);font-size:16px}
.bt-empty-state p{margin:0;font-size:13px;line-height:1.55}


/* ================================================================
   Topmap v1.2.5 — CPT compatibility + correct map pin orientation
   ================================================================ */
.bt-pin-shape{
  width:145px;
  height:145px;
  left:50%;
  top:50%;
  transform:translate(-50%,-60%) rotate(-45deg);
  border-radius:50% 50% 50% 0;
  background:var(--bt-brand);
  box-shadow:0 28px 60px rgba(239,43,50,.20);
}
.bt-pin-shape:after{
  content:"";
  position:absolute;
  width:54px;
  height:54px;
  left:45px;
  top:45px;
  border-radius:50%;
  background:#fff;
}

/* Keep hero pin optically centered on smaller screens. */
@media(max-width:640px){
  .bt-pin-orbit{width:260px;height:260px}
  .bt-pin-shape{width:130px;height:130px}
  .bt-pin-shape:after{width:48px;height:48px;left:41px;top:41px}
}
