.dt-listing-hero a {
  color:#fff;
}

.dt-hero-address {
  font-size:18px;
  
  margin:8px 0 0;
  
  color:rgba(255,255,255,.86);
}

.dt-hero-actions {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:10px;
  
  justify-content:flex-end;
}

.dt-hero-actions .dt-button-outline {
  background:rgba(255,255,255,.12);
  
  color:#fff;
  
  border-color:rgba(255,255,255,.45);
}

.dt-featured-image {
  padding-top:28px;
}

.dt-featured-image img {
  border-radius:var(--dt-radius);
  
  width:100%;
  
  max-height:520px;
  
  object-fit:cover;
}

.dt-listing-layout {
  display:grid;
  
  grid-template-columns:minmax(0,1fr) 320px;
  
  gap:28px;
  
  padding:32px 0 56px;
}

.dt-panel {
  background:#fff;
  
  border:1px solid var(--dt-border);
  
  border-radius:var(--dt-radius);
  
  padding:24px;
  
  margin-bottom:24px;
  
  box-shadow:var(--dt-shadow);
}

.dt-panel h2 {
  margin-top:0;
}

.dt-sticky-panel {
  position:sticky;
  
  top:98px;
}

.dt-info-list {
  display:grid;
  
  grid-template-columns:130px 1fr;
  
  gap:12px 18px;
}

.dt-info-list dt {
  font-weight:800;
}

.dt-info-list dd {
  margin:0;
  
  color:var(--dt-muted);
}

.dt-listing-map {
  width:100%;
  
  height:420px;
  
  border-radius:8px;
  
  overflow:hidden;
  
  background:#e8eef6;
}

.dt-listing-map-embed {
  display:block;
  
  border:0;
}

.dt-social-links {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:10px;
}

.dt-social-link {
  display:inline-flex;
  
  padding:8px 12px;
  
  border-radius:999px;
  
  border:1px solid var(--dt-border);
  
  font-weight:700;
}

.dt-listing-detail-map-popup {
  max-width:250px;
  
  padding:10px 12px;
  
  box-sizing:border-box;
  
  color:#111827;
}

.dt-listing-detail-map-popup strong {
  display:block;
  
  font-size:14px;
  
  font-weight:600;
  
  line-height:1.45;
  
  letter-spacing:0;
  
  overflow-wrap:anywhere;
}

.dt-listing-media {
  padding:32px 0 0;
}

.dt-listing-media-inner {
  background:#fff;
  
  border:1px solid var(--dt-border);
  
  border-radius:var(--dt-radius);
  
  padding:18px;
  
  box-shadow:var(--dt-shadow);
}

.dt-listing-featured-image {
  margin-bottom:14px;
  
  overflow:hidden;
  
  border-radius:8px;
  
  background:#e8eef6;
}

.dt-listing-featured-image img {
  display:block;
  
  width:100%;
  
  height:clamp(260px,42vw,520px);
  
  object-fit:cover;
}

.dt-listing-gallery {
  display:grid;
  
  grid-template-columns:repeat(4,minmax(0,1fr));
  
  gap:12px;
}

.dt-gallery-item {
  display:block;
  
  aspect-ratio:4/3;
  
  overflow:hidden;
  
  border-radius:8px;
  
  background:#e8eef6;
  
  border:1px solid var(--dt-border);
}

.dt-gallery-item img {
  display:block;
  
  width:100%;
  
  height:100%;
  
  object-fit:cover;
  
  transition:transform .18s ease;
}

.dt-gallery-item:hover img {
  transform:scale(1.04);
}

body.dt-lightbox-open {
  overflow:hidden;
}

.dt-lightbox {
  position:fixed;
  
  inset:0;
  
  z-index:99999;
  
  background:rgba(15,23,42,.86);
  
  display:none;
  
  align-items:center;
  
  justify-content:center;
  
  padding:28px;
}

.dt-lightbox.is-open {
  display:flex;
}

.dt-lightbox figure {
  margin:0;
  
  max-width:min(1100px,92vw);
  
  max-height:88vh;
  
  text-align:center;
  
  color:#fff;
}

.dt-lightbox img {
  display:block;
  
  max-width:100%;
  
  max-height:80vh;
  
  border-radius:8px;
  
  box-shadow:0 18px 60px rgba(0,0,0,.35);
  
  object-fit:contain;
  
  background:#111827;
}

.dt-lightbox figcaption {
  min-height:1.5em;
  
  margin-top:10px;
  
  color:#e5e7eb;
  
  font-size:14px;
}

.dt-lightbox button {
  position:absolute;
  
  border:0;
  
  background:rgba(255,255,255,.14);
  
  color:#fff;
  
  border-radius:999px;
  
  cursor:pointer;
  
  display:grid;
  
  place-items:center;
  
  font-weight:800;
}

.dt-lightbox button:hover {
  background:rgba(255,255,255,.24);
}

.dt-lightbox-close {
  top:22px;
  
  right:22px;
  
  width:44px;
  
  height:44px;
  
  font-size:30px;
  
  line-height:1;
}

.dt-lightbox-prev,.dt-lightbox-next {
  top:50%;
  
  transform:translateY(-50%);
  
  width:52px;
  
  height:52px;
  
  font-size:42px;
  
  line-height:1;
}

.dt-lightbox-prev {
  left:22px;
}

.dt-lightbox-next {
  right:22px;
}

.dt-title-row h1 {
  margin:0;
}

.dt-verified-badge {
  display:inline-flex;
  
  align-items:center;
  
  gap:5px;
  
  border-radius:999px;
  
  background:#ecfdf5;
  
  color:#047857;
  
  border:1px solid #a7f3d0;
  
  font-weight:800;
  
  font-size:.82rem;
  
  line-height:1;
  
  padding:7px 10px;
  
  white-space:nowrap;
}

.dt-verified-badge:before {
  content:"\2713";
  
  display:inline-grid;
  
  place-items:center;
  
  width:16px;
  
  height:16px;
  
  border-radius:999px;
  
  background:#10b981;
  
  color:#fff;
  
  font-size:11px;
  
  font-weight:900;
}

.dt-verified-owner {
  background:#eff6ff;
  
  color:#1d4ed8;
  
  border-color:#bfdbfe;
}

.dt-verified-owner:before {
  background:#2563eb;
}

.dt-price-range {
  font-weight:800;
  
  letter-spacing:.03em;
  
  cursor:help;
}

.dt-price-amount {
  font-weight:700;
}

.dt-price-separator {
  color:var(--dt-muted);
  
  margin:0 2px;
}

.dt-feature-list {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:10px;
}

.dt-feature-badge {
  display:inline-flex;
  
  align-items:center;
  
  border:1px solid #dbeafe;
  
  background:#eff6ff;
  
  color:#1d4ed8;
  
  border-radius:999px;
  
  padding:7px 12px;
  
  font-weight:800;
  
  text-decoration:none;
}

.dt-feature-badge:hover {
  background:#dbeafe;
  
  color:#1e40af;
}

.dt-feature-badge {
  display:inline-flex;
  
  align-items:center;
  
  border:1px solid rgba(15, 23, 42, 0.12);
  
  border-radius:999px;
  
  padding:4px 9px;
  
  font-size:0.82rem;
  
  line-height:1.25;
  
  text-decoration:none;
  
  background:rgba(255,255,255,0.78);
}

.dt-related-listings {
  margin-top:34px;
  
  margin-bottom:48px;
}

body.single-dt_listing .dt-related-listings-shell {
  display:grid;
  
  grid-template-columns:minmax(0,1fr) 360px;
  
  gap:30px;
  
  align-items:start;
  
  margin-top:-24px;
  
  margin-bottom:56px;
}

body.single-dt_listing .dt-related-listings-inner {
  grid-column:1;
  
  min-width:0;
}

body.single-dt_listing .dt-related-listings {
  margin-top:0;
  
  margin-bottom:42px;
}

body.single-dt_listing .dt-related-listings + .dt-related-listings {
  margin-top:0;
}

body.single-dt_listing .dt-related-listings:last-child {
  margin-bottom:0;
}

body.single-dt_listing .dt-related-listings .dt-listing-card {
  position:relative;
  
  display:block;
  
  height:100%;
  
  min-width:0;
  
  overflow:hidden;
  
  border:0;
  
  border-radius:var(--dt-place-card-radius,5px);
  
  background:#0f172a;
  
  box-shadow:0 12px 28px rgba(15,35,56,.12);
}

body.single-dt_listing .dt-related-listings .dt-listing-card:hover {
  box-shadow:0 16px 34px rgba(15,35,56,.16);
}

body.single-dt_listing .dt-related-listings .dt-card-image-wrap {
  position:relative;
  
  display:block;
  
  overflow:hidden;
  
  aspect-ratio:4 / 3;
  
  background:#0f172a;
}

body.single-dt_listing .dt-related-listings .dt-card-image {
  position:absolute;
  
  inset:0;
  
  display:block;
  
  width:100%;
  
  height:100%;
  
  min-height:0;
  
  border-radius:0;
  
  box-shadow:none;
}

body.single-dt_listing .dt-related-listings .dt-card-image::after {
  content:"";
  
  position:absolute;
  
  inset:0;
  
  display:block;
  
  background:var(--dt-place-card-overlay,linear-gradient(180deg,rgba(15,23,42,.04) 0%,rgba(15,23,42,.18) 38%,rgba(15,23,42,.88) 100%));
  
  pointer-events:none;
}

body.single-dt_listing .dt-related-listings .dt-card-body {
  position:absolute;
  
  inset:0;
  
  z-index:2;
  
  display:flex;
  
  flex-direction:column;
  
  justify-content:flex-end;
  
  min-width:0;
  
  padding:14px;
  
  color:#fff;
  
  background:transparent;
}

body.single-dt_listing .dt-related-listings .dt-card-meta {
  position:absolute;
  
  top:12px;
  
  left:12px;
  
  right:58px;
  
  z-index:2;
  
  display:flex;
  
  flex-wrap:wrap;
  
  gap:5px;
  
  min-height:0;
  
  margin:0;
}

body.single-dt_listing .dt-related-listings .dt-card-meta a {
  max-width:100%;
  
  padding:5px 8px;
  
  border-radius:999px;
  
  background:#2457a6;
  
  color:#fff;
  
  box-shadow:0 6px 12px rgba(36,87,166,.14);
  
  font-size:var(--dt-place-card-meta-size,10.5px);
  
  font-weight:500;
  
  line-height:1;
  
  overflow:hidden;
  
  text-overflow:ellipsis;
  
  white-space:nowrap;
}

body.single-dt_listing .dt-related-listings .dt-card-favorite-button,body.single-dt_listing .dt-related-listings .dt-card-image-wrap .dt-card-favorite-button {
  top:9px;
  
  right:9px;
  
  width:32px;
  
  height:32px;
  
  font-size:18px;
  
  background:rgba(15,23,42,.48);
  
  box-shadow:0 8px 18px rgba(15,23,42,.14);
}

body.single-dt_listing .dt-related-listings .dt-card-title {
  display:-webkit-box;
  
  overflow:hidden;
  
  min-height:0;
  
  margin:0 0 7px;
  
  color:#fff;
  
  font-size:var(--dt-place-card-title-size,15.5px);
  
  font-weight:var(--dt-place-card-title-weight,600);
  
  line-height:var(--dt-place-card-title-line,1.35);
  
  letter-spacing:0;
  
  text-shadow:0 2px 10px rgba(0,0,0,.34);
  
  overflow-wrap:anywhere;
  
  -webkit-box-orient:vertical;
  
  -webkit-line-clamp:2;
}

body.single-dt_listing .dt-related-listings .dt-card-title a {
  color:#fff;
}

body.single-dt_listing .dt-related-listings .dt-card-summary {
  display:flex;
  
  flex-direction:column;
  
  align-items:flex-start;
  
  gap:5px;
  
  margin:0;
}

body.single-dt_listing .dt-related-listings .dt-rating {
  max-width:100%;
  
  color:rgba(255,255,255,.88);
  
  font-size:12px;
  
  line-height:1.25;
  
  white-space:nowrap;
  
  overflow:hidden;
  
  text-overflow:ellipsis;
  
  text-shadow:0 1px 6px rgba(0,0,0,.30);
}

body.single-dt_listing .dt-related-listings .dt-card-business-status {
  margin:0;
}

body.single-dt_listing .dt-related-listings .dt-business-status {
  padding:4px 8px;
  
  border-color:rgba(255,255,255,.48);
  
  background:rgba(248,250,252,.94);
  
  font-size:var(--dt-place-card-status-size,11px);
  
  font-weight:500;
  
  line-height:1.25;
  
  white-space:nowrap;
}

.dt-related-listings .dt-listing-card {
  height:100%;
}

.dt-business-today-hours {
  display:inline-block;
  
  margin-left:8px;
  
  color:var(--dt-muted);
  
  font-size:13px;
  
  font-weight:700;
}

.dt-hero-business-status {
  display:flex;
  
  align-items:center;
  
  flex-wrap:wrap;
  
  gap:8px;
  
  margin:10px 0 4px;
}

.dt-info-list .dt-business-status {
  vertical-align:middle;
}

.dt-listing-action-strip {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:10px;
  
  align-items:center;
  
  padding:18px 0 0;
}

.dt-action-pill {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  min-height:40px;
  
  padding:8px 14px;
  
  border-radius:999px;
  
  border:1px solid #dbe3ef;
  
  background:#fff;
  
  color:#2457a6;
  
  font-weight:800;
  
  text-decoration:none;
  
  box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.dt-action-pill:hover {
  text-decoration:none;
  
  background:#f8fafc;
}

.dt-action-pill-primary {
  background:#2457a6;
  
  border-color:#2457a6;
  
  color:#fff !important;
}

.dt-action-pill-primary:hover {
  background:#173f80;
}

.dt-action-pill-favorite.is-favorite {
  background:#eff6ff;
  
  border-color:#bfdbfe;
  
  color:#1d4ed8 !important;
}

.dt-favorite-hero-button.is-favorite {
  background:#fff !important;
  
  color:#2457a6 !important;
  
  border-color:#fff !important;
}

.dt-favorite-hero-button.is-disabled {
  opacity:.65;
  
  cursor:default;
}

.dt-map-fallback-actions {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:10px;
  
  margin-top:12px;
}

.dt-favorite-list-panel {
  border:1px solid #e2e8f0;
  
  border-radius:10px;
  
  padding:22px;
  
  background:#fff;
  
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  
  margin:0 0 24px;
}

.dt-favorite-list-panel h3 {
  margin-top:0;
}

.dt-favorite-list {
  display:grid;
  
  gap:10px;
}

.dt-favorite-list-item {
  display:flex;
  
  align-items:center;
  
  justify-content:space-between;
  
  gap:12px;
  
  border:1px solid #e2e8f0;
  
  border-radius:10px;
  
  padding:12px 14px;
  
  background:#fff;
}

.dt-favorite-list-title {
  font-weight:800;
  
  color:#0f172a;
}

.dt-favorite-list-actions {
  display:flex;
  
  gap:10px;
  
  white-space:nowrap;
}

.dt-favorite-list-actions a {
  color:#285cab;
  
  font-weight:800;
}

.dt-favorite-empty {
  color:#64748b;
}

.dt-favorite-hero-button.is-loading {
  opacity:.72;
  
  pointer-events:none;
}

.dt-favorite-hero-button .dt-favorite-icon,.dt-action-pill-favorite .dt-favorite-icon {
  margin-right:4px;
}

.dt-title-row {
  display:flex;
  
  align-items:center;
  
  gap:14px;
  
  flex-wrap:wrap;
}

.dt-listing-hero {
  background:linear-gradient(135deg,#173f80,#2457a6);
  
  color:#fff;
  
  padding:72px 0 62px;
  
  position:relative;
  
  min-height:440px;
  
  display:flex;
  
  align-items:flex-end;
  
  background-size:cover;
  
  background-position:center;
  
  overflow:hidden;
}

.dt-listing-hero.has-featured-image {
  color:#fff;
  
  background-color:#0f172a;
}

.dt-listing-hero.no-featured-image {
  min-height:360px;
  
  background:linear-gradient(135deg,#173f80,#2457a6);
  
  color:#fff;
}

.dt-listing-hero-overlay {
  position:absolute;
  
  inset:0;
  
  pointer-events:none;
  
  background:linear-gradient(90deg,rgba(2,6,23,.74) 0%,rgba(2,6,23,.54) 42%,rgba(2,6,23,.34) 70%,rgba(2,6,23,.56) 100%);
}

.dt-listing-hero.no-featured-image .dt-listing-hero-overlay {
  background:linear-gradient(135deg,rgba(23,63,128,.96),rgba(36,87,166,.92));
}

.dt-listing-hero-inner {
  display:flex;
  
  justify-content:space-between;
  
  align-items:flex-end;
  
  gap:28px;
  
  position:relative;
  
  z-index:2;
}

.dt-listing-hero-copy {
  max-width:760px;
}

.dt-listing-hero .dt-listing-logo {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  width:96px;
  
  height:96px;
  
  border-radius:50%;
  
  border:0;
  
  background:#fff;
  
  padding:2px;
  
  box-sizing:border-box;
  
  box-shadow:0 18px 45px rgba(0,0,0,.25);
  
  margin-bottom:20px;
  
  overflow:hidden;
  
  flex:0 0 auto;
}

.dt-listing-hero .dt-listing-logo-img {
  display:block;
  
  width:100%;
  
  height:100%;
  
  border-radius:50%;
  
  background:#fff;
  
  padding:0;
  
  box-sizing:border-box;
  
  object-fit:contain;
  
  object-position:center;
}

.dt-listing-hero .dt-listing-tax {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:8px;
  
  margin-bottom:12px;
}

.dt-listing-hero h1 {
  font-size:clamp(36px,5.2vw,66px);
  
  line-height:1.04;
  
  margin:0;
  
  color:#fff;
  
  text-shadow:0 3px 18px rgba(0,0,0,.38);
}

.dt-listing-hero .dt-title-row {
  gap:14px;
  
  align-items:center;
}

.dt-listing-hero .dt-rating {
  color:rgba(255,255,255,.88);
  
  font-weight:800;
}

.dt-listing-hero .dt-hero-business-status {
  margin:0;
}

.dt-listing-hero .dt-hero-address {
  color:rgba(255,255,255,.88);
  
  font-size:16px;
  
  margin:0;
}

.dt-hero-actions-primary .dt-button-outline {
  background:rgba(255,255,255,.10);
  
  color:#fff;
  
  border-color:rgba(255,255,255,.46);
}

.dt-hero-actions-primary .dt-favorite-hero-button.is-favorite {
  background:#fff !important;
  
  color:var(--dt-blue) !important;
}

.dt-listing-layout-refined {
  grid-template-columns:minmax(0,1fr) 360px;
  
  gap:30px;
  
  padding-top:42px;
}

.dt-listing-layout-refined .dt-panel {
  border-radius:10px;
  
  padding:28px;
  
  box-shadow:0 14px 36px rgba(15,23,42,.07);
  
  border-color:#e4e8f0;
}

.dt-listing-layout-refined .dt-panel h2 {
  font-size:24px;
  
  margin:0 0 18px;
  
  letter-spacing:.01em;
}

.dt-feature-grid {
  display:grid;
  
  grid-template-columns:repeat(4,minmax(0,1fr));
  
  gap:10px;
}

.dt-feature-icon {
  display:inline-grid;
  
  place-items:center;
  
  width:30px;
  
  height:30px;
  
  border-radius:8px;
  
  color:#7b8495;
  
  border:1px solid #d8dee8;
  
  font-size:14px;
  
  flex:0 0 auto;
}

.dt-gallery-panel .dt-gallery-item {
  border-radius:8px;
  
  box-shadow:none;
  
  border:0;
}

.dt-gallery-panel .dt-gallery-item:first-child {
  grid-column:1 / -1;
  
  aspect-ratio:16/8.5;
}

.dt-sidebar-map-panel .dt-sidebar-map {
  height:270px;
  
  border-radius:0;
  
  border:0;
  
  box-shadow:none;
  
  margin-bottom:18px;
}

.dt-sidebar-address {
  display:flex;
  
  gap:10px;
  
  align-items:flex-start;
  
  color:var(--dt-blue);
  
  font-weight:800;
  
  line-height:1.7;
  
  margin:0 0 14px;
}

.dt-sidebar-info-icon {
  width:22px;
  
  flex:0 0 auto;
  
  text-align:center;
}

.dt-sidebar-map-actions {
  margin-top:14px;
}

.dt-sidebar-recommender-panel {
  padding:16px 22px !important;
}

.dt-sidebar-recommender {
  display:flex;
  
  align-items:center;
  
  gap:12px;
  
  text-decoration:none;
  
  color:inherit;
}

a.dt-sidebar-recommender:hover {
  text-decoration:none;
}

.dt-sidebar-recommender-avatar {
  flex:0 0 auto;
}

.dt-sidebar-recommender-text {
  color:#334155;
  
  font-size:14px;
  
  line-height:1.5;
}

.dt-sidebar-recommender-text strong {
  color:#0f172a;
}

.dt-sidebar-recommender-reason {
  margin-top:10px;
  
  padding-top:10px;
  
  border-top:1px solid var(--dt-border);
}

.dt-sidebar-recommender-reason summary {
  cursor:pointer;
  
  font-weight:700;
  
  font-size:13px;
  
  color:var(--dt-blue);
  
  list-style:none;
}

.dt-sidebar-recommender-reason summary::-webkit-details-marker {
  display:none;
}

.dt-sidebar-recommender-reason summary:before {
  content:"＋";
  
  display:inline-block;
  
  width:1.2em;
}

.dt-sidebar-recommender-reason[open] summary:before {
  content:"−";
}

.dt-sidebar-recommender-reason p {
  margin:8px 0 0;
  
  font-size:13px;
  
  line-height:1.7;
  
  color:#475569;
}

.dt-hours-heading {
  display:flex;
  
  align-items:center;
  
  justify-content:space-between;
  
  gap:14px;
  
  border-bottom:1px solid #eef1f6;
  
  padding-bottom:16px;
  
  margin-bottom:18px;
}

.dt-hours-heading h2 {
  margin:0 !important;
}

.dt-hours-list {
  display:grid;
  
  grid-template-columns:120px minmax(0,1fr);
  
  gap:13px 18px;
  
  margin:0;
  
  color:#667085;
}

.dt-hours-list dd {
  margin:0;
  
  text-align:right;
}

.dt-hours-value {
  display:inline-flex;
  
  flex-direction:column;
  
  align-items:flex-end;
  
  gap:2px;
  
  max-width:100%;
  
  line-height:1.45;
}

.dt-hours-main {
  white-space:nowrap;
}

.dt-hours-break {
  color:#8a98aa;
  
  font-size:.84em;
  
  font-weight:400;
  
  line-height:1.45;
  
  overflow-wrap:anywhere;
}

.dt-sidebar-social-links {
  margin-top:16px;
  
  padding-top:16px;
  
  border-top:1px solid #eef1f6;
}

.dt-sidebar-social-links .dt-social-link {
  font-size:13px;
  
  padding:6px 10px;
}

.dt-price-panel .dt-price-range {
  display:inline-flex;
  
  align-items:center;
  
  gap:4px;
  
  color:var(--dt-blue);
  
  letter-spacing:.04em;
}

.dt-qna-panel {
  overflow:hidden;
}

.dt-qna-list {
  display:grid;
  
  gap:14px;
}

.dt-qna-item {
  border:1px solid #e2e8f0;
  
  border-radius:14px;
  
  background:#fff;
  
  overflow:hidden;
}

.dt-qna-question,.dt-qna-answer {
  display:grid;
  
  grid-template-columns:34px 1fr;
  
  gap:12px;
  
  align-items:start;
  
  padding:14px 16px;
}

.dt-qna-question {
  background:#f8fafc;
  
  border-bottom:1px solid #e2e8f0;
}

.dt-qna-question span,.dt-qna-answer span {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  width:28px;
  
  height:28px;
  
  border-radius:999px;
  
  font-weight:900;
  
  font-size:13px;
}

.dt-qna-question span {
  background:#285cab;
  
  color:#fff;
}

.dt-qna-answer span {
  background:#e2e8f0;
  
  color:#0f172a;
}

.dt-qna-question strong {
  line-height:1.55;
  
  color:#0f172a;
}

.dt-qna-answer p {
  margin:3px 0 0;
  
  line-height:1.8;
  
  color:#334155;
}

.dt-sidebar-info-row .dt-sidebar-info-icon {
  width:22px;
  
  flex:0 0 auto;
  
  text-align:center;
  
  color:#64748b;
}

.dt-listing-hero .dt-listing-tax-after-address {
  margin-top:12px;
  
  margin-bottom:0;
}

.dt-listing-hero .dt-hero-meta-stack .dt-listing-tax a {
  box-shadow:none;
}

.dt-hero-actions-primary {
  display:grid !important;
  
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  
  gap:12px;
  
  min-width:330px;
  
  justify-items:stretch;
  
  align-items:stretch;
  
  width:100%;
  
  max-width:430px;
}

.dt-hero-actions-primary .dt-button {
  min-height:48px;
  
  border-radius:3px;
  
  padding:11px 18px;
  
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  text-align:center;
  
  width:100% !important;
  
  min-width:0 !important;
  
  white-space:nowrap;
}

.dt-hero-actions-primary .dt-hero-review-button {
  grid-column:1 / -1 !important;
  
  width:100% !important;
}

.dt-sidebar-contact-info {
  display:grid;
  
  gap:12px;
  
  margin:0 0 14px;
}

.dt-sidebar-address-line {
  margin:0;
}

.dt-sidebar-building {
  color:#475569;
}

.dt-sidebar-phone {
  color:#0f172a;
  
  margin-top:8px;
}

.dt-price-display {
  display:grid;
  
  gap:8px;
}

.dt-price-tier {
  display:flex;
  
  align-items:center;
  
  flex-wrap:wrap;
  
  gap:2px;
  
  font-size:22px;
  
  font-weight:900;
  
  line-height:1.15;
}

.dt-price-yen {
  color:#cbd5e1;
  
  letter-spacing:.02em;
}

.dt-price-yen.is-active {
  color:#285cab;
}

.dt-price-label {
  margin-left:6px;
  
  font-size:14px;
  
  font-weight:700;
}

.dt-price-display .dt-price-amount {
  display:block;
  
  color:#475569;
  
  font-size:15px;
  
  font-weight:800;
}

.dt-price-panel .dt-price-panel-value {
  color:#334155;
  
  font-size:1rem;
  
  font-weight:900;
}

.dt-favorite-login-popover p {
  margin:0 0 8px;
  
  font-size:13px;
  
  line-height:1.5;
  
  font-weight:700;
  
  color:#334155;
}

.dt-favorite-login-popover div {
  display:flex;
  
  gap:8px;
  
  flex-wrap:wrap;
}

.dt-favorite-login-popover a {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  min-height:32px;
  
  padding:0 10px;
  
  border-radius:999px;
  
  background:var(--dt-blue);
  
  color:#fff !important;
  
  font-size:12px;
  
  font-weight:800;
  
  text-decoration:none;
}

.dt-favorite-login-popover a + a {
  background:#eef4ff;
  
  color:var(--dt-blue) !important;
}

.dt-favorite-hero-button,.dt-action-pill-favorite {
  position:relative;
}

.gm-style-iw button.gm-ui-hover-effect {
  display:none !important;
}

.gm-style .gm-style-iw-chr,.gm-style .gm-style-iw-ch {
  display:none !important;
  
  height:0 !important;
  
  min-height:0 !important;
  
  padding:0 !important;
  
  margin:0 !important;
}

.gm-style .gm-style-iw-c {
  border-radius:3px !important;
  
  padding:0 !important;
  
  max-width:410px !important;
}

.gm-style .gm-style-iw-d {
  overflow:hidden !important;
  
  max-width:410px !important;
  
  padding:0 !important;
  
  margin:0 !important;
}

.dt-favorite-hero-button.is-disabled,.dt-action-pill-favorite.is-disabled {
  cursor:pointer !important;
  
  pointer-events:auto !important;
}

.dt-comments-heading {
  display:flex;
  
  align-items:center;
  
  justify-content:space-between;
  
  gap:16px;
  
  margin-bottom:22px;
}

.dt-comments-heading .comments-title {
  margin:0;
}

.dt-favorite-login-popover {
  position:fixed !important;
  
  left:50% !important;
  
  right:auto !important;
  
  top:62% !important;
  
  bottom:auto !important;
  
  transform:translate(-50%, 12px) !important;
  
  z-index:99999 !important;
  
  width:min(420px, calc(100vw - 32px)) !important;
  
  max-width:calc(100vw - 32px) !important;
  
  border-radius:12px !important;
  
  box-shadow:0 18px 46px rgba(15,23,42,.24) !important;
}

.dt-favorite-login-popover {
  position:fixed !important;
  
  z-index:9999 !important;
  
  right:auto !important;
  
  top:auto !important;
  
  width:min(360px, calc(100vw - 28px)) !important;
  
  padding:16px 18px !important;
  
  border:1px solid #dbe3ef;
  
  border-radius:10px !important;
  
  background:#fff;
  
  color:#0f172a;
  
  box-shadow:0 14px 34px rgba(15,23,42,.18);
  
  text-align:left;
  
  left:50% !important;
  
  bottom:calc(22px + env(safe-area-inset-bottom, 0px)) !important;
  
  transform:translateX(-50%) !important;
  
  max-width:calc(100vw - 28px) !important;
}

.dt-feature-display-group {
  margin:0 0 18px;
}

.dt-feature-display-group:last-child {
  margin-bottom:0;
}

.dt-feature-display-group h3 {
  font-size:15px;
  
  margin:0 0 10px;
  
  color:var(--dt-text);
}

.dt-feature-display-group + .dt-feature-display-group {
  border-top:1px solid rgba(15,23,42,.10);
  
  padding-top:14px;
}

.dt-sidebar-info-row .dt-sidebar-info-icon,.dt-sidebar-building,.dt-sidebar-phone {
  color:inherit !important;
  
  font-weight:400 !important;
}

.dt-sidebar-contact-info,.dt-sidebar-contact-info .dt-sidebar-address-block,.dt-sidebar-contact-info .dt-sidebar-address-line,.dt-sidebar-contact-info .dt-sidebar-postal,.dt-sidebar-contact-info .dt-sidebar-address,.dt-sidebar-contact-info .dt-sidebar-building,.dt-sidebar-contact-info .dt-sidebar-info-row,.dt-sidebar-contact-info .dt-sidebar-phone,.dt-sidebar-contact-info .dt-sidebar-info-row span,.dt-sidebar-contact-info .dt-sidebar-info-icon {
  color:var(--dt-text) !important;
  
  font-weight:400 !important;
}

.dt-sidebar-contact-info .dt-sidebar-info-icon {
  color:var(--dt-muted) !important;
}

.dt-sidebar-address-block {
  display:grid;
  
  gap:2px;
  
  margin:0 0 10px;
  
  color:#285cab;
  
  font-weight:800;
  
  line-height:1.65 !important;
}

.dt-sidebar-address-area {
  margin-top:8px;
}

.dt-sidebar-address-area-label {
  display:block;
  
  color:var(--dt-muted);
  
  font-size:12px;
  
  font-weight:700;
  
  line-height:1.4;
}

.dt-sidebar-address-area-value {
  display:block;
  
  color:var(--dt-text);
  
  font-weight:400;
  
  line-height:1.6;
}

.dt-sidebar-info-row {
  display:flex;
  
  gap:10px;
  
  align-items:flex-start;
  
  color:var(--dt-text) !important;
  
  font-weight:400 !important;
  
  line-height:1.65 !important;
}

.dt-favorites-results {
  min-width:0;
}

.dt-favorites-results .dt-listing-card[hidden] {
  display:none !important;
}

.dt-sidebar-info-svg,.dt-feature-icon {
  overflow:visible;
  
  fill:none;
  
  stroke:currentColor;
  
  stroke-linecap:round;
  
  stroke-linejoin:round;
}

.dt-sidebar-info-svg {
  width:20px;
  
  height:20px;
  
  flex:0 0 auto;
  
  margin-top:3px;
  
  color:var(--dt-muted);
  
  stroke-width:4.5;
}

.dt-sidebar-address-row .dt-sidebar-address-block {
  margin:0;
}

.dt-feature-grid .dt-feature-icon {
  display:block;
  
  width:17px;
  
  height:17px;
  
  flex:0 0 auto;
  
  border:0;
  
  border-radius:0;
  
  color:#7b8495;
  
  stroke-width:5;
}

.dt-feature-grid .dt-feature-item {
  justify-content:flex-start;
  
  gap:8px;
  
  border:0;
  
  background:transparent;
  
  color:#596273;
  
  border-radius:0;
  
  padding:6px 0;
}

.dt-gallery-panel .dt-gallery-slider {
  position:relative;
}

.dt-gallery-panel .dt-listing-gallery {
  grid-template-columns:none !important;
  
  gap:12px;
  
  margin:0;
  
  display:flex !important;
  
  overflow-x:auto;
  
  padding:0 0 8px;
  
  scroll-behavior:smooth;
  
  scroll-snap-type:x mandatory;
  
  scrollbar-width:thin;
  
  overscroll-behavior-inline:contain;
}

.dt-gallery-panel .dt-gallery-item,.dt-gallery-panel .dt-gallery-item:first-child {
  box-sizing:border-box;
  
  flex:0 0 calc((100% - 24px) / 3);
  
  width:calc((100% - 24px) / 3);
  
  aspect-ratio:4/3 !important;
  
  grid-column:auto !important;
  
  border-radius:5px !important;
  
  scroll-snap-align:start;
}

.dt-gallery-panel .dt-gallery-slider-button {
  position:absolute;
  
  z-index:3;
  
  top:50%;
  
  display:none;
  
  place-items:center;
  
  width:38px;
  
  height:38px;
  
  padding:0 0 3px;
  
  border:1px solid rgba(36,87,166,.18);
  
  border-radius:50%;
  
  background:rgba(255,255,255,.94);
  
  color:var(--dt-blue);
  
  font-size:28px;
  
  line-height:1;
  
  box-shadow:0 7px 20px rgba(15,43,75,.16);
  
  transform:translateY(-50%);
  
  cursor:pointer;
}

.dt-gallery-panel .dt-gallery-slider.has-overflow .dt-gallery-slider-button {
  display:grid;
}

.dt-gallery-panel .dt-gallery-slider-button.is-prev {
  left:8px;
}

.dt-gallery-panel .dt-gallery-slider-button.is-next {
  right:8px;
}

.dt-gallery-panel .dt-gallery-slider-button:disabled {
  opacity:.28;
  
  cursor:default;
}

.dt-sidebar-map-actions,.dt-sidebar-map-actions .dt-button {
  box-sizing:border-box;
  
  width:100%;
}

.dt-sidebar-map-actions .dt-button:not(.dt-button-accent) {
  border:1px solid #dbe7f5;
  
  background:#fff;
  
  color:var(--dt-blue);
}

.dt-sidebar-map-actions .dt-button:not(.dt-button-accent):hover,.dt-sidebar-map-actions .dt-button:not(.dt-button-accent):focus {
  background:#edf4ff;
  
  color:var(--dt-blue-dark);
}

.dt-category-details {
  grid-column:1 / -1;
}

.dt-category-details {
  overflow:hidden;
  
  margin-top:6px;
  
  border:1px solid #dbe7f5;
  
  border-radius:10px;
  
  background:#f2f7fd;
}

.dt-category-details > summary {
  display:flex;
  
  align-items:center;
  
  gap:10px;
  
  min-height:46px;
  
  padding:10px 14px;
  
  color:var(--dt-blue);
  
  font-size:15px;
  
  font-weight:600;
  
  list-style:none;
  
  cursor:pointer;
}

.dt-category-details > summary::-webkit-details-marker {
  display:none;
}

.dt-category-details > summary:after {
  content:'\2304';
  
  margin-left:auto;
  
  color:var(--dt-muted);
  
  font-size:18px;
  
  line-height:1;
}

.dt-category-details[open] > summary:after {
  content:'\2303';
}

.dt-category-details > summary small {
  overflow:hidden;
  
  max-width:45%;
  
  border-radius:999px;
  
  background:var(--dt-blue);
  
  color:#fff;
  
  padding:3px 9px;
  
  font-size:11px;
  
  line-height:1.4;
  
  text-overflow:ellipsis;
  
  white-space:nowrap;
}

.dt-verified-badge.dt-verified-owner:before {
  content:none;
}

.dt-sidebar-contact-info.has-phone {
  margin-bottom:18px;
}

.dt-sidebar-contact-info.has-phone .dt-sidebar-phone {
  margin-bottom:2px;
}

body.single-dt_listing .dt-listing-hero h1 {
  font-size:clamp(32px,4.25vw,50px);
  
  line-height:1.12;
  
  overflow-wrap:anywhere;
}

.dt-listing-layout-refined .dt-panel h2 {
  font-size:clamp(20px,2vw,24px);
  
  line-height:1.32;
}

.dt-listing-layout-refined .dt-panel h2 {
  font-size:clamp(19px,1.7vw,22px);
  
  line-height:1.36;
  
  font-weight:600;
  
  letter-spacing:0;
}

.dt-feature-badge,.dt-verified-badge {
  font-weight:500;
}

.dt-verified-badge.dt-verified-owner {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  gap:9px;
  
  min-height:34px;
  
  padding:5px 12px 5px 8px;
  
  border:1px solid #b6daf2;
  
  border-radius:7px;
  
  background:#f7fbff;
  
  color:#145a8d;
  
  box-shadow:0 2px 8px rgba(20,90,141,.08);
  
  font-size:.82rem;
  
  font-weight:500;
  
  line-height:1;
  
  white-space:nowrap;
}

.dt-listing-layout-refined .dt-panel h2,.dt-panel h2 {
  font-size:clamp(19px,1.7vw,22px);
  
  line-height:1.36;
  
  font-weight:600;
  
  letter-spacing:0;
}

.dt-hero-business-status .dt-business-status,.dt-feature-badge,.dt-action-pill,.dt-verified-badge {
  font-weight:500;
}

.dt-action-pill-primary {
  font-weight:600;
}

.dt-listing-hero .dt-listing-tax a,.dt-listing-hero .dt-hero-business-status .dt-business-status,.dt-listing-layout-refined .dt-taxonomy-detail-panel .dt-taxonomy-badge,.dt-listing-layout-refined .dt-taxonomy-detail-panel .dt-taxonomy-badge-area,.dt-listing-layout-refined .dt-taxonomy-detail-panel .dt-taxonomy-badge-category,.dt-listing-layout-refined .dt-taxonomy-detail-panel .dt-taxonomy-badge-place-tag,.dt-listing-layout-refined .dt-panel .dt-business-status {
  font-weight:500;
  
  line-height:1.32;
}

.dt-listing-hero .dt-listing-tax a {
  background:rgba(255,255,255,.92);
  
  color:var(--dt-blue);
  
  font-size:12px;
  
  padding:5px 10px;
  
  border-radius:999px;
  
  font-weight:900;
  
  line-height:1.28;
}

.dt-listing-hero .dt-hero-business-status .dt-business-today-hours {
  font-weight:500;
}

.dt-listing-hero .dt-verified-badge.dt-verified-owner,.dt-verified-badge.dt-verified-owner {
  gap:1px;
  
  font-weight:500;
}

.dt-listing-hero .dt-verified-text,.dt-verified-badge.dt-verified-owner .dt-verified-text {
  font-weight:600;
}

body.single-dt_listing .dt-listing-links-panel .dt-listing-website-links {
  margin:0;
}

body.single-dt_listing .dt-listing-links-panel .dt-listing-website-button {
  box-sizing:border-box;
  
  width:100%;
}

body.single-dt_listing .dt-listing-links-panel .dt-listing-delivery-links {
  margin-top:14px;
}

body.single-dt_listing .dt-listing-links-panel .dt-listing-delivery-link-row {
  display:flex;
  
  flex-wrap:wrap;
  
  gap:10px;
}

body.single-dt_listing .dt-listing-links-panel .dt-delivery-link {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:flex-start;
  
  gap:12px;
  
  flex:1 1 calc(50% - 5px);
  
  min-height:46px;
  
  box-sizing:border-box;
  
  padding:9px 13px;
  
  border:1px solid #d8e5f5;
  
  border-radius:5px;
  
  background:#f8fbff;
  
  color:var(--dt-blue);
  
  font-weight:800;
  
  line-height:1.2;
  
  text-decoration:none;
}

body.single-dt_listing .dt-listing-links-panel .dt-delivery-link:hover,body.single-dt_listing .dt-listing-links-panel .dt-delivery-link:focus {
  background:#edf4ff;
  
  border-color:#bed3ee;
  
  color:var(--dt-blue);
  
  text-decoration:none;
}

body.single-dt_listing .dt-listing-links-panel .dt-delivery-link-icon {
  display:block;
  
  width:32px;
  
  height:32px;
  
  flex:0 0 32px;
  
  background:currentColor;
  
  -webkit-mask:url("../icons/delivery/icon-delivery.svg") center/contain no-repeat;
  
  mask:url("../icons/delivery/icon-delivery.svg") center/contain no-repeat;
}

body.single-dt_listing .dt-listing-links-panel .dt-listing-social-links {
  display:flex;
  
  width:100%;
  
  flex-wrap:wrap;
  
  align-items:center;
  
  justify-content:flex-start;
  
  gap:16px;
  
  margin-top:12px;
  
  box-sizing:border-box;
}

body.single-dt_listing .dt-listing-links-panel .dt-listing-website-links+.dt-listing-social-links {
  margin-top:14px;
}

body.single-dt_listing .dt-listing-links-panel .dt-social-link {
  display:inline-flex;
  
  align-items:center;
  
  justify-content:center;
  
  width:40px;
  
  height:40px;
  
  min-height:40px;
  
  box-sizing:border-box;
  
  padding:0;
  
  border:0;
  
  border-radius:5px;
  
  background:transparent;
  
  color:var(--dt-blue);
  
  line-height:1;
  
  text-decoration:none;
  
  transition:background-color .16s ease,opacity .16s ease;
}

body.single-dt_listing .dt-listing-links-panel .dt-social-link:hover,body.single-dt_listing .dt-listing-links-panel .dt-social-link:focus,body.single-dt_listing .dt-listing-links-panel .dt-social-link:active {
  background:#edf4ff;
  
  color:var(--dt-blue);
  
  opacity:.92;
  
  text-decoration:none;
}

body.single-dt_listing .dt-listing-links-panel .dt-social-link-text {
  background:transparent;
  
  color:var(--dt-text);
}

body.single-dt_listing .dt-listing-links-panel .dt-social-link-icon {
  display:block;
  
  width:36px;
  
  height:36px;
  
  flex:0 0 36px;
  
  object-fit:contain;
}

@media(max-width:700px) {
  .dt-lightbox {
    padding:18px;
  }
  .dt-lightbox-prev,.dt-lightbox-next {
    width:42px;
    
    height:42px;
    
    font-size:34px;
  }
  .dt-lightbox-prev {
    left:10px;
  }
  .dt-lightbox-next {
    right:10px;
  }
  .dt-lightbox-close {
    top:10px;
    
    right:10px;
  }
  .dt-listing-action-strip {
    padding-top:12px;
  }
  .dt-action-pill {
    flex:1 1 auto;
  }
  .dt-favorite-list-item {
    display:block;
  }
  .dt-favorite-list-actions {
    margin-top:8px;
  }
}

@media(max-width:1100px) {
  .dt-feature-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width: 980px) {
  body.single-dt_listing .dt-related-listings-shell {
    display:block;
    
    margin-top:-20px;
    
    margin-bottom:48px;
  }
  .dt-listing-hero {
    min-height:360px;
    
    padding:52px 0 42px;
  }
  .dt-listing-hero-inner {
    display:block;
  }
  .dt-sticky-panel {
    position:static;
  }
  .dt-hero-actions-primary {
    display:flex;
    
    flex-wrap:wrap;
    
    margin-top:24px;
    
    min-width:0;
    
    max-width:430px;
  }
  .dt-listing-layout-refined {
    grid-template-columns:1fr;
    
    padding-top:28px;
    
    display:flex;
    
    flex-direction:column;
  }
  .dt-listing-layout-refined .dt-listing-main {
    display:contents;
  }
  .dt-listing-layout-refined .dt-listing-sidebar {
    order:50;
  }
}

@media (min-width:761px) {
  .dt-favorite-login-popover {
    top:46% !important;
    
    transform:translate(-50%, 10px) !important;
  }
}

@media(max-width:820px) {
  .dt-favorites-explorer[data-dt-favorites-active-panel="map"] .dt-favorites-results {
    display:none;
  }
}

@media(min-width:821px) {
  .dt-favorites-results .dt-listing-card {
    position:relative !important;
    
    display:block !important;
    
    height:220px !important;
    
    min-height:220px !important;
    
    aspect-ratio:auto !important;
    
    overflow:hidden !important;
    
    background:#0f172a !important;
  }
  .dt-favorites-results .dt-card-image-wrap {
    position:absolute !important;
    
    inset:0 !important;
    
    width:100% !important;
    
    height:100% !important;
    
    min-height:0 !important;
    
    aspect-ratio:auto !important;
  }
  .dt-favorites-results .dt-card-image {
    position:absolute !important;
    
    inset:0 !important;
    
    width:100% !important;
    
    height:100% !important;
    
    min-height:0 !important;
    
    border-radius:0 !important;
  }
  .dt-favorites-results .dt-card-image::after {
    content:'' !important;
    
    position:absolute !important;
    
    inset:0 !important;
    
    display:block !important;
    
    background:linear-gradient(180deg,rgba(15,23,42,.04) 0%,rgba(15,23,42,.22) 38%,rgba(15,23,42,.9) 100%) !important;
    
    pointer-events:none;
  }
  .dt-favorites-results .dt-card-body {
    position:absolute !important;
    
    inset:0 !important;
    
    z-index:2 !important;
    
    display:flex !important;
    
    flex-direction:column !important;
    
    justify-content:flex-end !important;
    
    padding:14px !important;
    
    color:#fff !important;
    
    background:transparent !important;
  }
  .dt-favorites-results .dt-card-meta {
    display:none !important;
  }
  .dt-favorites-results .dt-card-title {
    display:-webkit-box !important;
    
    overflow:hidden !important;
    
    min-height:0 !important;
    
    margin:0 50px 8px 0 !important;
    
    color:#fff !important;
    
    font-size:17px !important;
    
    line-height:1.3 !important;
    
    -webkit-box-orient:vertical;
    
    -webkit-line-clamp:2;
  }
  .dt-favorites-results .dt-card-title a {
    color:#fff !important;
  }
  .dt-favorites-results .dt-card-summary {
    display:flex !important;
    
    flex-direction:column !important;
    
    align-items:flex-start !important;
    
    gap:6px !important;
  }
}

@media(max-width:560px) {
  .dt-panel {
    padding:18px;
  }
  .dt-listing-map {
    height:320px;
  }
  .dt-listing-gallery {
    grid-template-columns:repeat(2,minmax(0,1fr));
    
    gap:10px;
  }
  .dt-listing-media-inner {
    padding:12px;
  }
  .dt-listing-featured-image img {
    height:260px;
  }
  .dt-business-today-hours {
    display:block;
    
    margin-left:0;
    
    margin-top:4px;
  }
  .dt-hero-business-status {
    display:block;
  }
  .dt-hero-business-status .dt-business-status {
    margin-bottom:4px;
  }
  .gm-style .gm-style-iw-c {
    max-width:calc(100vw - 28px) !important;
  }
  .gm-style .gm-style-iw-d {
    max-width:calc(100vw - 28px) !important;
  }
  .dt-comments-heading {
    display:grid;
    
    gap:10px;
  }
}

@media (max-width:640px) {
  .dt-listing-hero .dt-listing-logo {
    width:74px;
    
    height:74px;
    
    margin-bottom:14px;
  }
  .dt-listing-hero {
    min-height:320px;
    
    padding:40px 0 34px;
  }
  .dt-listing-hero h1 {
    font-size:clamp(32px,9vw,44px);
  }
  .dt-listing-layout-refined .dt-panel {
    padding:20px;
  }
  .dt-gallery-panel .dt-listing-gallery {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dt-gallery-panel .dt-gallery-item:first-child {
    aspect-ratio:4/3;
  }
  .dt-hours-list {
    grid-template-columns:1fr;
    
    gap:4px 0;
  }
  .dt-hours-list dd {
    text-align:left;
    
    margin-bottom:9px;
  }
  .dt-hours-value {
    display:inline-flex;
    
    flex-direction:row;
    
    flex-wrap:wrap;
    
    align-items:baseline;
    
    justify-content:flex-start;
    
    gap:0 6px;
  }
  .dt-hours-break {
    font-size:.84em;
    
    font-weight:400;
  }
  .dt-qna-question,.dt-qna-answer {
    grid-template-columns:30px 1fr;
    
    padding:12px;
  }
  .dt-qna-question span,.dt-qna-answer span {
    width:26px;
    
    height:26px;
  }
  .dt-hero-actions-primary .dt-hero-review-button {
    width:100%;
    
    grid-column:1 / -1;
  }
  .dt-hero-actions-primary {
    grid-template-columns:1fr 1fr;
    
    width:100%;
    
    max-width:none;
    
    gap:10px;
  }
  .dt-hero-actions-primary .dt-button {
    width:auto;
    
    padding-left:8px;
    
    padding-right:8px;
  }
  .dt-price-tier {
    font-size:20px;
  }
  .dt-verified-badge.dt-verified-owner {
    min-height:32px;
    
    padding:5px 10px 5px 7px;
    
    gap:8px;
    
    font-size:.78rem;
  }
  .dt-sidebar-contact-info.has-phone {
    margin-bottom:20px;
  }
  body.single-dt_listing .dt-listing-hero h1 {
    font-size:clamp(28px,8vw,34px);
    
    line-height:1.16;
  }
  .dt-listing-layout-refined .dt-panel h2 {
    font-size:20px;
  }
  .dt-listing-layout-refined .dt-panel h2 {
    font-size:clamp(19px,5.2vw,22px);
    
    line-height:1.38;
  }
  .dt-listing-layout-refined .dt-panel h2,.dt-panel h2 {
    font-size:clamp(19px,5vw,22px);
    
    line-height:1.38;
  }
}

@media (max-width:900px) {
  .dt-listing-hero-inner {
    display:block;
  }
  .dt-hero-actions {
    justify-content:flex-start;
    
    margin-top:20px;
  }
  .dt-listing-layout {
    grid-template-columns:1fr;
  }
  .dt-sticky-panel {
    position:static;
  }
  .dt-info-list {
    grid-template-columns:1fr;
  }
  .dt-listing-gallery {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dt-listing-media {
    padding-top:24px;
  }
  .dt-gallery-panel .dt-gallery-item,.dt-gallery-panel .dt-gallery-item:first-child {
    flex-basis:calc((100% - 12px) / 2);
    
    width:calc((100% - 12px) / 2);
  }
}

@media (max-width:720px) {
  .dt-title-row {
    gap:10px;
  }
}

@media(max-width:360px) {
  body.single-dt_listing .dt-listing-links-panel .dt-listing-social-links {
    gap:14px;
  }
  body.single-dt_listing .dt-listing-links-panel .dt-social-link-icon {
    width:34px;
    
    height:34px;
    
    flex-basis:34px;
  }
}

@media(max-width:620px) {
  .dt-gallery-panel .dt-gallery-item,.dt-gallery-panel .dt-gallery-item:first-child {
    flex-basis:86%;
    
    width:86%;
  }
  .dt-gallery-panel .dt-gallery-slider-button {
    display:none !important;
  }
  body.single-dt_listing .dt-listing-links-panel .dt-delivery-link {
    flex-basis:100%;
  }
}

@media (max-width:760px) {
  .dt-related-listings {
    margin-top:24px;
  }
  body.single-dt_listing .dt-related-listings-shell {
    display:block;
    
    margin-top:-20px;
    
    margin-bottom:42px;
  }
  body.single-dt_listing .dt-related-listings {
    margin-bottom:34px;
  }
  body.single-dt_listing .dt-related-listings .dt-listing-card {
    flex:0 0 min(82vw, 300px);
    
    max-width:min(82vw, 300px);
    
    scroll-snap-align:start;
  }
  .dt-favorite-login-popover {
    top:58% !important;
    
    width:min(380px, calc(100vw - 28px)) !important;
    
    max-width:calc(100vw - 28px) !important;
  }
  .dt-favorite-login-popover {
    top:58% !important;
  }
  .dt-feature-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .dt-category-details {
    border-radius:8px;
  }
  .dt-category-details > summary {
    min-height:44px;
    
    padding:9px 12px;
    
    font-size:15px;
  }
  .dt-category-details > summary small {
    max-width:42%;
  }
}
