:root {
  --candtec-purple: #35285f;
  --candtec-purple-dark: #241a45;
  --candtec-gold: #e8d784;
  --candtec-honey: #ffde9b;
  --candtec-burgundy: #800000;
  --candtec-paper: #fffdf6;
  --candtec-ink: #2f2940;
}

html { font-size: 15px; min-height: 100%; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--candtec-ink);
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  background: #eeeae2 url('/images/candle_background.jpg') repeat;
}
a { color: #65508e; }
a:hover { color: var(--candtec-burgundy); }
.site-width { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }

.brand-bar { background: var(--candtec-purple); border-bottom: 1px solid #19102f; }
.brand-inner { min-height: 68px; display: flex; justify-content: space-between; align-items: center; }
.brand-art, .brand-art img { display: block; max-width: 100%; }
.header-note { color: var(--candtec-honey); text-align: right; text-transform: uppercase; font-size: .7rem; letter-spacing: .12em; padding-left: 1rem; }
.header-note strong { display: block; color: white; font-size: .85rem; margin-top: .25rem; }

.utility-bar { color: #453a52; min-height: 21px; border-bottom: 1px solid #8c7b42; background: #e8d784 url('/images/topbar.gif') repeat-x; font-size: .72rem; }
.utility-inner { min-height: 21px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.utility-links { display: flex; gap: .9rem; align-items: center; }
.utility-links a { color: #4b4057; text-decoration: none; font-weight: 700; }

.legacy-nav { padding: 0; background: var(--candtec-purple); border-bottom: 4px solid var(--candtec-gold); }
.nav-inner { display: flex; align-items: stretch; }
.legacy-nav .navbar-brand { display: none; color: var(--candtec-honey); font-family: Georgia, serif; font-style: italic; }
.legacy-nav .navbar-nav { align-items: stretch; }
.legacy-nav .nav-link { height: 100%; padding: .72rem 1rem !important; color: #fff !important; text-transform: uppercase; font-size: .75rem; font-weight: 700; letter-spacing: .05em; border-right: 1px solid rgba(255,255,255,.15); }
.legacy-nav .nav-link:hover, .legacy-nav .nav-link:focus { color: var(--candtec-purple) !important; background: var(--candtec-honey); }
.legacy-nav .signout-link { border: 0; background: transparent; }
.legacy-nav .dropdown-menu { border-radius: 0; border: 2px solid var(--candtec-gold); box-shadow: 0 .5rem 1.2rem rgba(32,20,56,.22); }
.legacy-nav .dropdown-item:active { background: var(--candtec-purple); }
.navbar-toggler { margin: .35rem 0; border-color: var(--candtec-gold); background: var(--candtec-honey); }

.page-frame { margin-top: 1.25rem; margin-bottom: 2rem; padding: clamp(1rem, 2.5vw, 2rem); background: rgba(255,253,246,.98); border: 1px solid #d7c98b; box-shadow: 0 .4rem 1.5rem rgba(45,34,69,.14); }
.admin-frame { width: min(1440px, calc(100% - 2rem)); }
h1, h2, h3 { color: var(--candtec-purple); font-family: Georgia, 'Times New Roman', serif; }
h1 { font-size: clamp(1.8rem, 4vw, 2.55rem); }
.page-frame h1 { padding-bottom: .45rem; border-bottom: 1px solid #ded7bd; }

.btn { border-radius: 2px; font-weight: 700; }
.btn-primary { color: #fff; background: var(--candtec-purple); border-color: var(--candtec-purple-dark); }
.btn-primary:hover, .btn-primary:focus { color: var(--candtec-purple-dark); background: var(--candtec-honey); border-color: #a08738; }
.btn-outline-secondary { color: var(--candtec-purple); border-color: var(--candtec-purple); }
.form-control:focus, .form-select:focus, .form-check-input:focus, .btn:focus { border-color: #967dbb; box-shadow: 0 0 0 .2rem rgba(53,40,95,.2); }
.table thead { color: #fff; background: var(--candtec-purple); }
.table thead th { color: #fff; background-color: var(--candtec-purple); border-color: #6d5b91; }
.table thead a { color: #fff; font-weight: 700; text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); text-underline-offset: .18em; }
.table thead a:hover, .table thead a:focus { color: var(--candtec-honey); text-decoration-color: currentColor; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-bg-type: #faf5e4; }
.alert { border-radius: 2px; }

.store-page .page-frame { padding: 0; }
.legacy-columns { display: grid; grid-template-columns: 180px minmax(0, 1fr) 180px; align-items: stretch; }
.legacy-main { min-width: 0; padding: 2rem; }
.legacy-sidebar { min-width: 0; text-align: center; }
.left-sidebar { padding-bottom: 1.25rem; color: #fff; background: var(--candtec-purple); }
.right-sidebar { padding: .9rem .4rem; background: var(--candtec-purple); border-left: 1px solid #1b1236; }
.panel-title { padding: .65rem .5rem; color: var(--candtec-honey); font-weight: 700; font-size: .8rem; letter-spacing: .08em; border-bottom: 1px solid #1b1236; }
.legacy-side-art { display: block; max-width: 100%; height: auto; margin: .8rem auto; }
.animated-candle-logo { margin-block: 1.2rem; }
.side-shop-link { display: inline-block; margin-bottom: 1rem; color: var(--candtec-honey); font-weight: 700; font-size: .78rem; text-transform: uppercase; }
.side-shop-link:hover { color: #fff; }
.wholesale-box { width: calc(100% - 1.5rem); margin-inline: auto; padding: .75rem .35rem; color: var(--candtec-honey); background: var(--candtec-burgundy); border: 1px solid var(--candtec-honey); font-size: .7rem; }
.wholesale-box a { display: block; margin-top: .5rem; color: #fff; }
.mini-cart { width: calc(100% - 1.25rem); margin: 0 auto 1rem; color: #222; background: #f3f3f3; border: 1px solid #aaa; font-size: .7rem; }
.mini-cart h2 { display: flex; align-items: center; gap: .35rem; margin: 0; padding: .25rem .4rem; color: #c00000; background: #fff; border-bottom: 1px solid #ddd; font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: .72rem; text-transform: none; }
.mini-cart p { margin: .35rem .25rem 0; }
.mini-cart strong { display: block; }
.mini-cart > a { display: block; padding: .3rem; color: #c00000; }
.news-box { display: flex; flex-direction: column; align-items: center; gap: .45rem; padding-bottom: .7rem; background: #f0f0f0; border: 1px solid #666; font-size: .7rem; }
.news-box h2 { width: 100%; height: 18px; margin: 0 0 .35rem; line-height: 0; }
.news-box h2 img { width: 100%; height: 18px; }
.news-box > a img { display: block; max-width: 100%; object-fit: contain; }
.news-box a { color: #0000c0; }
.news-new, .news-box > strong { color: #e00000; }
.payment-box { display: flex; flex-direction: column; align-items: center; gap: .25rem; margin-top: .8rem; padding: .65rem .35rem; color: #222; background: #eaeaea; border: 2px solid #d00000; font-size: .66rem; text-align: left; }
.payment-box strong { font-size: .72rem; font-weight: 400; }
.payment-box img { object-fit: contain; }
.payment-box span { width: 100%; padding-left: .55rem; font-weight: 700; }
.payment-box span b { color: #e00000; }
.home-kicker { margin: 0 0 1.25rem; padding-bottom: .65rem; text-align: center; color: #b00000; border-bottom: 1px solid #e0ddd5; font-weight: 700; }
.intro-story { display: grid; grid-template-columns: auto 1fr; gap: 1.2rem; align-items: start; }
.intro-story h1 { margin-top: 0; border-bottom: 0; font-size: clamp(1.55rem, 3vw, 2.25rem); }
.intro-story p { line-height: 1.65; }
.drop-cap { float: left; margin: -.1rem .15rem -.2rem 0; color: var(--candtec-purple); font-family: Georgia, serif; font-size: 3rem; line-height: 1; }
.feature-strip { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 1.5rem; padding: 1.2rem; background: #fff7d8; border-block: 1px solid #d9c26f; }
.feature-strip h2 { margin: 0 0 .35rem; font-size: 1.45rem; }
.feature-strip p { margin-bottom: .85rem; }

.legacy-home { font-size: .86rem; }
.romance-copy { font-weight: 700; font-style: italic; }
.legacy-offer-box { display: grid; grid-template-columns: .9fr 1.25fr; gap: 1.25rem; align-items: center; margin: 1.3rem auto; padding: 1rem; background: #fff0d2; border: 1px solid #888; box-shadow: inset 0 0 0 2px #fff; }
.affordable-copy { margin: 0; line-height: 1.55; }
.original-candle-box { display: flex; flex-direction: column; gap: .35rem; padding: .8rem; text-align: center; background: #fff; border: 3px double #777; }
.warning-line { color: #d00000; }
.original-candle-box span { font-size: .72rem; }
.quick-candles { margin: 1.25rem 0; padding: .8rem; border: 1px solid #aaa; }
.quick-candles h2 { margin: 0 0 .8rem; text-align: center; font-size: 1.2rem; }
.quick-candle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.quick-candle { min-height: 135px; display: flex; justify-content: center; align-items: center; gap: .65rem; color: #0000c0; background: #fff; text-align: center; }
.quick-candle img { width: 115px; height: 115px; object-fit: contain; }
.burgundy-rule { height: 7px; margin: 1rem 0; background: var(--candtec-burgundy); }
.did-you-know { display: grid; grid-template-columns: 1fr 150px 2fr; gap: 1rem; align-items: center; padding: 1rem; }
.did-you-know h2 { align-self: start; margin: 0; font-size: 1.45rem; }
.did-you-product { display: flex; align-items: center; gap: .6rem; color: #0000c0; }
.did-you-product img { width: 75px; height: 112px; object-fit: contain; }
.did-you-know ul { margin: 0; padding-left: 1.4rem; }
.did-you-know li { margin-bottom: .65rem; }
.size-shortcuts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 1rem; border-top: 1px solid #bbb; }
.size-shortcuts a { display: flex; justify-content: center; align-items: center; gap: .7rem; color: #0000c0; }
.size-shortcuts img { width: 105px; height: 110px; object-fit: contain; }
.refill-section { margin-top: 1rem; border: 1px solid #777; background: url('/images/candle_background.jpg') repeat; }
.refill-section h2 { padding: .45rem; margin: 0; color: #fff; background: var(--candtec-burgundy); text-align: center; font-size: 1.05rem; font-style: italic; }
.refill-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; padding: 1rem; }
.refill-grid a { display: flex; flex-direction: column; align-items: center; padding: .5rem; color: #0000c0; background: #fff; }
.refill-grid img { width: 90px; height: 98px; object-fit: contain; }

.page-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.2rem; border-bottom: 1px solid #ded7bd; }
.page-heading h1 { margin: 0; border: 0; }
.eyebrow { color: var(--candtec-burgundy); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-card { overflow: hidden; border: 1px solid #d9ca88; border-radius: 0; box-shadow: 0 .2rem .6rem rgba(53,40,95,.1); transition: transform .15s ease, box-shadow .15s ease; }
.product-card:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(53,40,95,.16); }
.product-card .card-body { display: flex; flex-direction: column; background: #fffefa; }
.product-card form { position: relative; z-index: 2; margin-top: auto; }
.product-card-link { color: var(--candtec-purple); text-decoration: none; }
.product-card-link:hover { color: var(--candtec-burgundy); text-decoration: underline; }
.product-image { width: 100%; height: 210px; padding: .5rem; object-fit: contain; background: #fff; border-bottom: 1px solid #eee8d5; }
.product-price { color: var(--candtec-burgundy); font-size: 1.2rem; font-weight: 700; }
.admin-product-thumb { width: 64px; height: 64px; object-fit: contain; }
.product-breadcrumb { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; font-size: .75rem; }
.product-detail { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(280px, 1.1fr); gap: 2rem; }
.product-detail-image { min-height: 300px; display: flex; justify-content: center; align-items: flex-start; padding: 1rem; background: #fff; border: 1px solid #ddd3a5; }
.product-detail-image img { max-width: 100%; max-height: 480px; object-fit: contain; }
.product-detail-content h1 { margin-top: .2rem; }
.product-detail-summary { font-size: 1rem; font-weight: 700; line-height: 1.55; }
.product-long-description { margin: 1rem 0; line-height: 1.6; white-space: pre-line; }
.product-detail-price { margin: 1.25rem 0; color: var(--candtec-burgundy); font-size: 1.65rem; font-weight: 700; }
.product-code { margin-top: 1rem; color: #666; font-size: .7rem; }

.legacy-page-header { margin: -2rem -2rem 1.25rem; padding: .75rem; text-align: center; border-bottom: 1px solid #d7c98b; background: #f5f3ec; }
.legacy-page-header img { max-width: 100%; height: auto; }
.how-to-order { max-width: 900px; margin-inline: auto; }
.order-introduction { margin-bottom: 1.5rem; line-height: 1.65; }
.how-to-order section { margin-bottom: 1rem; border: 1px solid #d0c48c; }
.how-to-order section h2 { margin: 0; padding: .5rem .75rem; color: #fff; background: var(--candtec-purple); font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: .85rem; }
.how-to-order section p { margin: 0; padding: .75rem; line-height: 1.6; }
.how-to-order section p + p { padding-top: 0; }
.order-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.25rem; }
.admin-settings-form { max-width: 1000px; }
.settings-section { margin-bottom: 1.25rem; border: 1px solid #c8ba7d; background: #fffefa; }
.settings-section h2 { margin: 0; padding: .6rem .85rem; color: #fff; background: var(--candtec-purple); font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: .95rem; }
.settings-body { padding: 1rem; }
.payment-entry { margin-top: 1rem; padding: 1rem; border: 1px solid #c8ba7d; background: #fffaf0; }
.payment-entry legend { float: none; width: auto; padding: 0 .35rem; color: var(--candtec-purple); font-family: Georgia, serif; font-size: 1.3rem; }

.site-footer { color: #fff; background: var(--candtec-purple-dark); border-top: 5px solid var(--candtec-gold); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: 1.25rem; }
.contact-box { min-width: 260px; display: flex; flex-direction: column; margin: 0; padding: 1rem 1.2rem; color: #23183f; background: var(--candtec-honey); border: 3px double #5f4d20; font-size: .78rem; font-style: normal; line-height: 1.35; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); }
.contact-box strong { color: var(--candtec-burgundy); font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: .82rem; }
.contact-box a { color: #35285f; font-weight: 700; }
.contact-box .contact-toll-free { color: var(--candtec-burgundy); font-size: 1.05rem; text-decoration: none; }
.contact-spacer { height: .65rem; }
.footer-branding { display: flex; flex-direction: column; gap: .25rem; text-align: right; }
.footer-branding strong { color: var(--candtec-honey); font-family: Georgia, serif; font-size: 1.35rem; }
.footer-branding small { color: #c9c2d6; margin-top: .5rem; }

@media (max-width: 767.98px) {
  .site-width, .admin-frame { width: min(100% - 1rem, 1180px); }
  .header-note { display: none; }
  .brand-inner { justify-content: center; }
  .utility-inner > span:first-child { display: none; }
  .utility-inner { justify-content: center; padding: .35rem 0; }
  .utility-links { flex-wrap: wrap; justify-content: center; }
  .nav-inner { display: block; }
  .legacy-nav .navbar-brand { display: inline-block; }
  .legacy-nav .navbar-toggler { float: right; }
  .legacy-nav .navbar-collapse { clear: both; }
  .legacy-nav .nav-link { border-right: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .page-frame { margin-top: .65rem; padding: 1rem; }
  .legacy-page-header { margin: -1rem -1rem 1rem; }
  .legacy-columns { grid-template-columns: 1fr; }
  .legacy-main { padding: 1rem; }
  .legacy-sidebar { display: none; }
  .feature-strip { grid-template-columns: auto 1fr; }
  .bee-opposite { display: none; }
  .footer-inner { gap: 1.25rem; }
  .legacy-offer-box { grid-template-columns: 1fr; }
  .product-detail { grid-template-columns: 1fr; }
  .did-you-know { grid-template-columns: 110px 1fr; }
  .did-you-know h2 { grid-column: 1 / -1; }
  .quick-candle-grid, .size-shortcuts { grid-template-columns: 1fr; }
  .quick-candle, .size-shortcuts a { justify-content: flex-start; padding-left: 15%; }
}

@media (max-width: 520px) {
  .brand-art img { width: auto; height: 68px; }
  .intro-story { display: block; }
  .intro-story > img { float: left; margin: 0 1rem .5rem 0; }
  .feature-strip { display: block; text-align: center; clear: both; }
  .feature-strip > img { margin-bottom: .5rem; }
  .footer-inner { display: block; padding: 1rem 0; }
  .contact-box { min-width: 0; width: 100%; }
  .footer-branding { margin-top: 1rem; text-align: left; }
  .did-you-know { display: block; }
  .did-you-product { margin: .75rem 0; }
  .refill-grid { grid-template-columns: repeat(2, 1fr); }
}
.beeswax-story {
  max-width: 720px;
  margin: 0 auto;
}

.beeswax-story .legacy-page-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.beeswax-fact-card {
  border: 2px ridge #999;
}

.beeswax-highlight {
  background: #ffde9b;
  border: 1px solid #999;
}
.legacy-content-page {
  max-width: 760px;
  margin: 0 auto;
}

.legacy-content-page .legacy-page-header {
  text-align: center;
  margin-bottom: 1.5rem;
}

.legacy-content-page .card-header {
  background: #35285f;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}

.catalog-page { max-width: 820px; margin: 0 auto; }
.catalog-header { display: flex; align-items: center; justify-content: center; gap: 1rem; text-align: center; }
.catalog-header h1 { margin-bottom: .2rem; }
.catalog-header p { margin: 0; font-size: .9rem; }
.catalog-breadcrumb { margin-bottom: 1rem; padding: .45rem .65rem; border: 1px solid #d0c48c; background: #fff8dd; font-size: .8rem; }
.catalog-introduction { line-height: 1.6; }
.catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.catalog-category { display: grid; grid-template-columns: 125px 1fr; min-height: 170px; border: 1px solid #c8ba7d; background: #fffefa; box-shadow: 0 2px 5px rgba(53,40,95,.12); }
.catalog-category-image { display: flex; align-items: center; justify-content: center; padding: .75rem; background: #fff8dd; border-right: 1px solid #d0c48c; }
.catalog-category-image img { max-width: 105px; max-height: 130px; object-fit: contain; }
.catalog-category-body { display: flex; flex-direction: column; align-items: flex-start; padding: .8rem; }
.catalog-category h2 { margin: 0 0 .45rem; color: var(--candtec-burgundy); font-family: Georgia, serif; font-size: 1.15rem; }
.catalog-category h2 a { color: inherit; }
.catalog-category p { margin-bottom: .45rem; font-size: .8rem; line-height: 1.45; }
.catalog-count { color: #6d6478; font-weight: 700; }
.catalog-subcategories { margin: 0 0 .55rem; padding-left: 1.1rem; font-size: .78rem; }
.catalog-view-link { margin-top: auto; color: var(--candtec-burgundy); font-size: .8rem; font-weight: 700; }
.catalog-all-products { margin-top: 1.25rem; text-align: center; }

@media (max-width: 767.98px) {
  .catalog-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .catalog-header > img { display: none; }
  .catalog-category { grid-template-columns: 100px 1fr; }
  .catalog-category-image img { max-width: 82px; }
}

.print-document { color: #111; background: #fff; font-family: Arial, sans-serif; }
.print-actions { margin-bottom: 1.5rem; }
.document-header { display: flex; justify-content: space-between; gap: 2rem; padding-bottom: 1rem; border-bottom: 3px solid #35285f; }
.document-header h1 { margin: 0 0 .75rem; letter-spacing: .08em; }
.packing-check { width: 5rem; text-align: center; font-size: 1.5rem; }
.packing-signoff { padding-top: 1rem; border-top: 1px solid #777; }

@media print {
  .print-actions, .screen-sensitive, .site-header, .site-footer, .legacy-sidebar, form { display: none !important; }
  body, .page-frame, .legacy-main, .print-document { width: 100% !important; margin: 0 !important; padding: 0 !important; color: #000 !important; background: #fff !important; box-shadow: none !important; }
  .legacy-columns { display: block !important; }
  .card { break-inside: avoid; border-color: #777 !important; box-shadow: none !important; }
  a { color: #000 !important; text-decoration: none !important; }
  .table thead { color: #000 !important; background: #eee !important; }
}
