/*
Theme Name: The Dumpster Rental
Theme URI: https://thedumpsterrental.com
Author: Right Now Marketing Group
Author URI: https://thedumpsterrental.com
Description: Standalone, plugin-free WordPress theme for a nationwide roll-off dumpster rental brand (10, 20 and 30 yard containers). On activation it builds a 4-page website (Home, About, Dumpster Sizes, Contact) from core Gutenberg blocks, with a ZIP code quote box, a size finder and a quote form. Business details resolve at render time through a {{token}} system driven by the theme settings page.
Version: 2.1.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: the-dumpster-rental
*/

/* ============================================================
   DESIGN TOKENS - red, white and black
   ============================================================ */
:root {
	/* Black, white and red */
	--tdr-black:      #0a0a0a;   /* hero, footer, dark panels */
	--tdr-black-800:  #141414;
	--tdr-charcoal:   #262626;
	--tdr-crimson:    #b3141b;   /* deep brand red - white text passes AA */
	--tdr-red-400:    #ef4b52;
	--tdr-red-200:    #f6a9ac;
	--tdr-red-100:    #fcd9da;
	--tdr-gray-100:   #f4f4f4;   /* light panels */
	--tdr-white:      #ffffff;   /* page background */

	/* Signal red - buttons and accents. White text on it passes AA (4.6:1),
	   and it passes as text on black (4.5:1). */
	--tdr-red:        #e3242c;
	--tdr-red-600:    #c41a21;

	/* Text */
	--tdr-ink:   #0a0a0a;
	--tdr-body:  #333333;
	--tdr-muted: #5c5c5c;      /* 6:1 on white */
	--tdr-line:  #e6e6e6;

	/* Textures */
	--tdr-dots:     radial-gradient(rgba(227, 36, 44, .14) 1.4px, transparent 1.6px) 0 0 / 20px 20px;
	--tdr-dots-ink: radial-gradient(rgba(10, 10, 10, .1) 1.4px, transparent 1.6px) 0 0 / 20px 20px;
	--tdr-route:    repeating-linear-gradient(90deg, var(--tdr-red) 0 14px, transparent 14px 24px);
	--tdr-grad:     linear-gradient(150deg, var(--tdr-charcoal) 0%, var(--tdr-black-800) 45%, var(--tdr-black) 100%);

	/* Type */
	--tdr-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

	--tdr-h1:   clamp(2.6rem, 1.4rem + 4.6vw, 5.2rem);
	--tdr-h2:   clamp(2rem, 1.3rem + 2.4vw, 3.3rem);
	--tdr-h3:   clamp(1.2rem, 1.1rem + .4vw, 1.45rem);
	--tdr-lead: clamp(1.06rem, 1rem + .35vw, 1.24rem);

	/* Layout */
	--tdr-wrap:     1240px;
	--tdr-narrow:   780px;
	--tdr-gutter:   clamp(1rem, .5rem + 2.2vw, 2.25rem);
	--tdr-inset:    clamp(.5rem, .2rem + 1vw, 1rem);   /* gap around rounded panels */
	--tdr-section:  clamp(4rem, 2.6rem + 5.5vw, 7.5rem);
	--tdr-header-h: 92px;

	/* Shape */
	--tdr-r-sm:  12px;
	--tdr-r:     22px;
	--tdr-r-lg:  32px;
	--tdr-r-xl:  44px;
	--tdr-pill:  999px;

	--tdr-shadow:    0 1px 2px rgba(10, 10, 10, .06), 0 16px 36px -16px rgba(10, 10, 10, .28);
	--tdr-shadow-lg: 0 2px 6px rgba(10, 10, 10, .06), 0 40px 70px -30px rgba(10, 10, 10, .45);
	--tdr-glow:      0 14px 30px -12px rgba(227, 36, 44, .8);

	--tdr-ease: cubic-bezier(.22, .8, .24, 1);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--tdr-header-h) + 16px);
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

body {
	margin: 0;
	font-family: var(--tdr-font);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--tdr-body);
	background: var(--tdr-white);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--tdr-font);
	color: var(--tdr-ink);
	line-height: 1.05;
	letter-spacing: -.03em;
	font-weight: 800;
	margin: 0 0 .5em;
	text-wrap: balance;
}
h1 { font-size: var(--tdr-h1); letter-spacing: -.045em; }
h2 { font-size: var(--tdr-h2); }
h3 { font-size: var(--tdr-h3); font-weight: 700; line-height: 1.22; letter-spacing: -.02em; }
h4 { font-size: 1.12rem; font-weight: 700; }

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

a {
	color: var(--tdr-crimson);
	text-decoration: underline;
	text-decoration-color: var(--tdr-red-200);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	transition: color .18s var(--tdr-ease), text-decoration-color .18s var(--tdr-ease);
}
a:hover { color: var(--tdr-charcoal); text-decoration-color: var(--tdr-crimson); }

strong { color: var(--tdr-ink); font-weight: 700; }

:focus-visible {
	outline: 3px solid var(--tdr-red-400);
	outline-offset: 3px;
	border-radius: 6px;
}

::selection { background: var(--tdr-red); color: #fff; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: 1rem;
	top: -100px;
	z-index: 1000;
	background: var(--tdr-red);
	color: #fff;
	padding: .75rem 1.1rem;
	border-radius: var(--tdr-pill);
	font-weight: 700;
	text-decoration: none;
}
.skip-link:focus { top: 1rem; }

/* ============================================================
   CONTENT FLOW
   ============================================================ */
.tdr-main { display: block; }

.entry-content > *:not(.alignfull) {
	max-width: var(--tdr-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--tdr-gutter);
	padding-right: var(--tdr-gutter);
}
.entry-content > .alignfull {
	width: auto;
	max-width: none;
	margin: 0;
}

.tdr-section {
	position: relative;
	padding: var(--tdr-section) var(--tdr-gutter);
}
.tdr-section > *,
.tdr-wrap {
	max-width: var(--tdr-wrap);
	margin-left: auto;
	margin-right: auto;
}
.tdr-wrap { padding-left: var(--tdr-gutter); padding-right: var(--tdr-gutter); }
.tdr-section > .tdr-wrap { padding-left: 0; padding-right: 0; }

/* Rounded, inset panels - the signature layout element */
.entry-content > .tdr-panel-section,
.tdr-panel-section {
	margin: var(--tdr-inset);
	border-radius: var(--tdr-r-xl);
	overflow: hidden;
	isolation: isolate;
}

/* Standard page/single fallback content */
.tdr-page:not(.tdr-builder) .entry-content,
.tdr-single .entry-content,
.tdr-index {
	padding-top: clamp(2.5rem, 2rem + 3vw, 4.5rem);
	padding-bottom: clamp(3rem, 2rem + 4vw, 5.5rem);
}
.tdr-single .entry-header {
	max-width: var(--tdr-narrow);
	margin: 0 auto;
	padding: clamp(3rem, 2rem + 4vw, 5rem) var(--tdr-gutter) 0;
}
.tdr-single .entry-content > * { max-width: var(--tdr-narrow); }

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-buttons { gap: .75rem; }

.tdr-btn,
.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 54px;
	padding: .8rem 1.65rem;
	border-radius: var(--tdr-pill);
	border: 2px solid transparent;
	font-family: var(--tdr-font);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s var(--tdr-ease), box-shadow .18s var(--tdr-ease), background-color .18s var(--tdr-ease), color .18s var(--tdr-ease), border-color .18s var(--tdr-ease);
}
.tdr-btn:hover,
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.tdr-btn:active,
.wp-block-button .wp-block-button__link:active { transform: none; box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
	.tdr-btn:hover,
	.wp-block-button .wp-block-button__link:hover { transform: none; }
}

/* default + primary: signal red */
.tdr-btn.tdr-btn--primary,
.wp-block-button .wp-block-button__link,
.wp-block-button.tdr-btn--primary .wp-block-button__link {
	background: var(--tdr-red);
	border-color: var(--tdr-red);
	color: #fff;
}
.tdr-btn.tdr-btn--primary:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button.tdr-btn--primary .wp-block-button__link:hover {
	background: var(--tdr-red-600);
	border-color: var(--tdr-red-600);
	color: #fff;
	box-shadow: var(--tdr-glow);
}

/* deep red solid */
.tdr-btn.tdr-btn--red,
.wp-block-button.tdr-btn--red .wp-block-button__link {
	background: var(--tdr-crimson);
	border-color: var(--tdr-crimson);
	color: #fff;
}
.tdr-btn.tdr-btn--red:hover,
.wp-block-button.tdr-btn--red .wp-block-button__link:hover {
	background: var(--tdr-charcoal);
	border-color: var(--tdr-charcoal);
	color: #fff;
	box-shadow: var(--tdr-shadow);
}

/* black solid */
.tdr-btn.tdr-btn--dark,
.wp-block-button.tdr-btn--dark .wp-block-button__link {
	background: var(--tdr-black);
	border-color: var(--tdr-black);
	color: #fff;
}
.tdr-btn.tdr-btn--dark:hover,
.wp-block-button.tdr-btn--dark .wp-block-button__link:hover {
	background: var(--tdr-charcoal);
	border-color: var(--tdr-charcoal);
	color: #fff;
	box-shadow: var(--tdr-shadow);
}

/* outline on light surfaces */
.tdr-btn.tdr-btn--ghost,
.wp-block-button.tdr-btn--ghost .wp-block-button__link {
	background: transparent;
	border-color: var(--tdr-crimson);
	color: var(--tdr-crimson);
}
.tdr-btn.tdr-btn--ghost:hover,
.wp-block-button.tdr-btn--ghost .wp-block-button__link:hover {
	background: var(--tdr-crimson);
	border-color: var(--tdr-crimson);
	color: #fff;
	box-shadow: none;
}

/* outline on dark surfaces */
.tdr-btn.tdr-btn--light,
.wp-block-button.tdr-btn--light .wp-block-button__link {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(255, 255, 255, .35);
	color: #fff;
}
.tdr-btn.tdr-btn--light:hover,
.wp-block-button.tdr-btn--light .wp-block-button__link:hover {
	background: #fff;
	border-color: #fff;
	color: var(--tdr-ink);
	box-shadow: none;
}

/* phone icon prefix */
.wp-block-button.tdr-btn--call .wp-block-button__link::before,
.tdr-btn.tdr-btn--call::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--tdr-i-phone) center / contain no-repeat;
	mask: var(--tdr-i-phone) center / contain no-repeat;
}

/* arrow suffix */
.wp-block-button.tdr-btn--arrow .wp-block-button__link::after,
.tdr-btn.tdr-btn--arrow::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--tdr-i-arrow) center / contain no-repeat;
	mask: var(--tdr-i-arrow) center / contain no-repeat;
	transition: transform .18s var(--tdr-ease);
}
.wp-block-button.tdr-btn--arrow .wp-block-button__link:hover::after,
.tdr-btn.tdr-btn--arrow:hover::after { transform: translateX(3px); }

/* ============================================================
   ICON SET - CSS masks (no icon library). Stroke icons, 24px grid.
   ============================================================ */
:root {
	--tdr-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
	--tdr-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--tdr-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
	--tdr-i-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
	--tdr-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
	--tdr-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
	--tdr-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
	--tdr-i-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");
	--tdr-i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E");
	--tdr-i-hammer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4l6 6-3 3-6-6z'/%3E%3Cpath d='M11 7L3 15l3 3 8-8'/%3E%3Cpath d='M15 3l2-1 5 5-1 2'/%3E%3C/svg%3E");
	--tdr-i-roof: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 13L12 5l10 8'/%3E%3Cpath d='M6 10.5L12 6l6 4.5'/%3E%3Cpath d='M5 13v7h14v-7'/%3E%3Cpath d='M16 6V3h2v4.5'/%3E%3C/svg%3E");
	--tdr-i-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='11' height='18' rx='1'/%3E%3Cpath d='M15 9h4a1 1 0 0 1 1 1v11H15'/%3E%3Cpath d='M8 7h3M8 11h3M8 15h3'/%3E%3C/svg%3E");
	--tdr-i-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-9 6-14 15-14 0 9-5 15-14 15'/%3E%3Cpath d='M5 19l8-8'/%3E%3C/svg%3E");
	--tdr-i-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E");
	--tdr-i-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4l4 4v3h-8'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
	--tdr-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
	--tdr-i-dumpster: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h20l-2 10H4z'/%3E%3Cpath d='M9 8v10M15 8v10'/%3E%3Ccircle cx='7' cy='20' r='1.2'/%3E%3Ccircle cx='17' cy='20' r='1.2'/%3E%3C/svg%3E");
	--tdr-i-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='8' cy='8' r='1.5'/%3E%3C/svg%3E");
	--tdr-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5L15.5 10'/%3E%3C/svg%3E");
	--tdr-i-hardhat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 18h20'/%3E%3Cpath d='M4 18v-2a8 8 0 0 1 16 0v2'/%3E%3Cpath d='M10 8V5h4v3'/%3E%3C/svg%3E");
	--tdr-i-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4L3 6v14l6-2 6 2 6-2V4l-6 2z'/%3E%3Cpath d='M9 4v14M15 6v14'/%3E%3C/svg%3E");
	--tdr-i-ruler: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='8' width='20' height='8' rx='1'/%3E%3Cpath d='M6 8v3M10 8v4M14 8v3M18 8v4'/%3E%3C/svg%3E");
}

.tdr-ico {
	display: inline-grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 18px;
	background: var(--tdr-gray-100);
	color: var(--tdr-crimson);
	flex: none;
}
.tdr-ico::before {
	content: "";
	width: 26px;
	height: 26px;
	background: currentColor;
	-webkit-mask: var(--tdr-i, var(--tdr-i-dumpster)) center / contain no-repeat;
	mask: var(--tdr-i, var(--tdr-i-dumpster)) center / contain no-repeat;
}
.tdr-ico--phone     { --tdr-i: var(--tdr-i-phone); }
.tdr-ico--mail      { --tdr-i: var(--tdr-i-mail); }
.tdr-ico--pin       { --tdr-i: var(--tdr-i-pin); }
.tdr-ico--clock     { --tdr-i: var(--tdr-i-clock); }
.tdr-ico--chat      { --tdr-i: var(--tdr-i-chat); }
.tdr-ico--home      { --tdr-i: var(--tdr-i-home); }
.tdr-ico--hammer    { --tdr-i: var(--tdr-i-hammer); }
.tdr-ico--roof      { --tdr-i: var(--tdr-i-roof); }
.tdr-ico--building  { --tdr-i: var(--tdr-i-building); }
.tdr-ico--leaf      { --tdr-i: var(--tdr-i-leaf); }
.tdr-ico--box       { --tdr-i: var(--tdr-i-box); }
.tdr-ico--truck     { --tdr-i: var(--tdr-i-truck); }
.tdr-ico--calendar  { --tdr-i: var(--tdr-i-calendar); }
.tdr-ico--dumpster  { --tdr-i: var(--tdr-i-dumpster); }
.tdr-ico--tag       { --tdr-i: var(--tdr-i-tag); }
.tdr-ico--shield    { --tdr-i: var(--tdr-i-shield); }
.tdr-ico--hardhat   { --tdr-i: var(--tdr-i-hardhat); }
.tdr-ico--map       { --tdr-i: var(--tdr-i-map); }
.tdr-ico--ruler     { --tdr-i: var(--tdr-i-ruler); }
.tdr-ico--red     { background: var(--tdr-crimson); color: #fff; }
.tdr-ico--dark      { background: var(--tdr-black); color: var(--tdr-red); }
.tdr-ico--bright      { background: var(--tdr-red); color: #fff; }
