/* Public forms, navigation, media and customer pages; CP and print are excluded. */
.ananas-public .ananas-home-main { padding: 26px; border: 1px solid #dce4d6; border-radius: 15px; background: #fff; font-size: 14px; line-height: 1.8; }
.ananas-public .ananas-catalogue-heading { margin-bottom: 22px; }
.ananas-public .ananas-home-main > center { text-align: left; }
.ananas-public .ananas-home-main table { max-width: 100%; border-spacing: 0; border-collapse: separate; }
.ananas-public .ananas-home-main td { overflow-wrap: anywhere; font-size: 14px; line-height: 1.8; }
.ananas-public .ananas-home-main img { max-width: 100%; height: auto; border: 0; }
.ananas-public .ananas-home-main font { font-family: inherit; font-size: inherit; }
.ananas-public .ananas-home-main h1 { color: #263e2c; font: 700 clamp(24px, 2.4vw, 32px)/1.3 "Segoe UI", Arial, sans-serif; letter-spacing: -.025em; }
.ananas-public .ananas-home-main h2 { color: #334d38; font-size: 19px; line-height: 1.45; }
.ananas-public .ananas-home-main h3 { color: #3c5740; font-size: 16px; }
.ananas-public .ananas-home-main td > h1:first-child:has(+ h1) { display: none; }
.ananas-public .ananas-home-main p { margin: 0 0 16px; }
.ananas-public .ananas-home-main a { text-underline-offset: 3px; }
.ananas-public .ananas-public-frame, .ananas-public-frame > tbody,
.ananas-public-frame > tbody > tr, .ananas-public-frame > tbody > tr > td { display: block; width: 100%; height: auto; padding: 0; border: 0; background: transparent; text-align: left; }
.ananas-public-frame > tbody > tr > td.border2 { padding: 0 0 18px; color: #334d38; font-size: 20px; font-weight: 600; }
.ananas-public-heading .ananas-public-frame > tbody > tr:first-child { display: none; }
.ananas-public-frame > tbody > tr > td > br { display: none; }
.ananas-public .ananas-home-main form { display: block; max-width: 100%; margin: 0 0 20px; }
.ananas-public .ananas-home-main form:last-child { margin-bottom: 0; }
.ananas-public .ananas-home-main input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]),
.ananas-public .ananas-home-main textarea, .ananas-public .ananas-home-main select {
  display: block; width: 100% !important; max-width: 100% !important; min-width: 0; min-height: 45px; margin: 7px 0 0;
  padding: 10px 12px; border: 1px solid #bacbb3; border-radius: 7px; background: #fff; color: #273d2e; font: 16px/1.5 "Segoe UI", Arial, sans-serif;
}
.ananas-public .ananas-home-main input[type="file"] { padding: 8px; font-size: 13px; }
.ananas-public .ananas-home-main input[type="checkbox"], .ananas-public .ananas-home-main input[type="radio"] { width: 18px; height: 18px; margin: 6px; vertical-align: middle; accent-color: #285b46; }
.ananas-public .ananas-home-main textarea { min-height: 145px; resize: vertical; }
.ananas-public .ananas-home-main select[multiple] { min-height: 180px; }
.ananas-public .ananas-home-main input[type="submit"], .ananas-public .ananas-home-main input[type="button"],
.ananas-public .ananas-home-main input[type="reset"], .ananas-public .ananas-home-main button {
  max-width: 100%; min-height: 44px; margin: 7px 4px 7px 0; padding: 10px 17px; border: 1px solid #285b46; border-radius: 7px;
  background: #285b46; color: #fff; font: 600 14px/1.5 "Segoe UI", Arial, sans-serif; white-space: normal; cursor: pointer;
}
.ananas-public .ananas-home-main input[type="submit"]:hover, .ananas-public .ananas-home-main button:hover { background: #1c4934; }
.ananas-public .ananas-home-main input:focus-visible, .ananas-public .ananas-home-main textarea:focus-visible,
.ananas-public .ananas-home-main select:focus-visible { outline: 3px solid #ca942e; outline-offset: 2px; }
.ananas-public .ananas-home-main form td { padding: 12px 10px; background: #f5f8f1; border-bottom: 3px solid #fff; text-align: left; vertical-align: top; }
.ananas-public .ananas-home-main td:has(> input), .ananas-public .ananas-home-main td:has(> select),
.ananas-public .ananas-home-main td:has(> textarea), .ananas-public .ananas-home-main td:has(> :is(.cke, .cke_skin_kama)) {
  padding: 12px 10px; background: #f5f8f1; border-bottom: 3px solid #fff; text-align: left; vertical-align: top;
}
.ananas-public .ananas-home-main :is(.cke, .cke_skin_kama) { display: block; width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
.ananas-public .ananas-home-main iframe { max-width: 100%; }
.ananas-public .ananas-home-main .companyA, .ananas-public .ananas-home-main .companyB,
.ananas-public .ananas-home-main .companyC, .ananas-public .ananas-home-main .companyD { font-size: 17px; line-height: 1.5; }
.ananas-public .ananas-company-results { margin: 20px 0; }
.ananas-public .ananas-company-results > tbody > tr > td { background: transparent; }
.ananas-page-index .ananas-home-main td { text-align: left; }
.ananas-page-index .ananas-home-main li { margin: 0 0 10px; }
.ananas-page-index .ananas-home-main .maincat, .ananas-page-index .ananas-home-main .subcat { line-height: 1.9; }
.ananas-page-index .ananas-home-main br { display: none; }
.ananas-page-index .ananas-home-main .ananas-company-results br { display: revert; }
.ananas-page-index .ananas-company-results td:nth-child(2) > br + br { display: none; }
.ananas-page-index .ananas-home-main td.border2 { display: none !important; }
.ananas-page-index .ananas-home-main td.border { padding: 0; border: 0; background: transparent; }
.ananas-page-index .ananas-home-main ul { margin: 0; padding: 0; }
.ananas-page-index .ananas-home-main li { margin: 0 0 10px; padding: 0; list-style: none; }
.ananas-page-index .ananas-home-main table.border2 { border: 0; background: transparent; }
.ananas-page-index .ananas-home-main table.border2 > tbody > tr > td { padding: 0; }
.ananas-page-index .ananas-home-main tr:has(> td > .directory-location-heading) { display: none !important; }
.ananas-page-index .ananas-home-main li > a { display: block; min-height: 44px; padding: 10px 13px; border: 1px solid #dce5d6; border-radius: 8px; background: #f5f8f1; color: #365c3d; text-decoration: none; }
.ananas-page-index .ananas-home-main li > a:hover { border-color: #b6c8ad; background: #edf3e7; }
.ananas-page-compare .ananas-home-main, .ananas-page-compare_lite .ananas-home-main { overflow-x: auto; }
.ananas-page-compare .ananas-home-main td, .ananas-page-compare_lite .ananas-home-main td { padding: 9px 6px; border-bottom: 1px solid #e2e8db; }
.ananas-page-compare .ananas-home-main table, .ananas-page-compare_lite .ananas-home-main table { width: 100%; }
.ananas-public .ananas-home-main .descol, .ananas-public .ananas-home-main .desrow { font-size: 13px; line-height: 1.7; }
@media (max-width: 699px) {
  .ananas-public .ananas-home-main { padding: 21px 16px; border-radius: 12px; }
  .ananas-public:not(.ananas-page-compare):not(.ananas-page-compare_lite) .ananas-home-main table:not(.ananas-company-results),
  .ananas-public:not(.ananas-page-compare):not(.ananas-page-compare_lite) .ananas-home-main table:not(.ananas-company-results) > tbody,
  .ananas-public:not(.ananas-page-compare):not(.ananas-page-compare_lite) .ananas-home-main table:not(.ananas-company-results) > tbody > tr,
  .ananas-public:not(.ananas-page-compare):not(.ananas-page-compare_lite) .ananas-home-main table:not(.ananas-company-results) > tbody > tr > td { display: block; width: 100%; height: auto; min-width: 0; }
  .ananas-public .ananas-home-main form td { padding: 11px 9px; }
  .ananas-public .ananas-home-main table { width: 100%; }
  .ananas-public .ananas-home-main input[type="submit"], .ananas-public .ananas-home-main button { min-height: 46px; }
}
.ananas-public.ananas-public-heading .ananas-public-frame > tbody > tr:first-child { display: none !important; }
/* Keep the existing rich-text editor's internal table layout intact. */
.ananas-public .ananas-home-main :is(.cke, .cke_skin_kama) table { display: table !important; width: 100% !important; }
.ananas-public .ananas-home-main :is(.cke, .cke_skin_kama) tbody { display: table-row-group !important; }
.ananas-public .ananas-home-main :is(.cke, .cke_skin_kama) tr { display: table-row !important; }
.ananas-public .ananas-home-main :is(.cke, .cke_skin_kama) td { display: table-cell !important; width: auto !important; padding: 0 !important; border: 0; line-height: normal; }
.ananas-public .ananas-home-main :is(.cke, .cke_skin_kama) iframe { display: block; width: 100% !important; max-width: 100% !important; }

/* Geographic business lists share the category card grid and title sizes. */
.ananas-public .ananas-home-main:has(.ananas-geography-results) {
  padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 15px; line-height: 1.6;
}
.ananas-public .ananas-geography-results { margin: 0; }
.ananas-public .ananas-geography-results > tbody > tr > td { line-height: 1.7; }
.ananas-public .ananas-geography-results :is(.companyA, .companyB, .companyC, .companyD) { font-size: 18px; }
/* Geographic navigation uses the whole panel with readable, balanced groups. */
.ananas-public .ananas-geography-navigation { width: 100%; text-align: left; }
.ananas-public .ananas-geography-navigation .geography-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; padding: 0; list-style: none; }
.ananas-public .ananas-geography-navigation .geography-links > li { min-width: 0; margin: 0; padding: 0; }
.ananas-public .ananas-geography-navigation .geography-links > li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.ananas-public .ananas-geography-navigation .geography-links > li > a,
.ananas-public .ananas-geography-navigation .geography-category-title > a { display: block; width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #dce5d6; border-radius: 8px; background: #f5f8f1; color: #365c3d; font-size: 17px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.ananas-public .ananas-geography-navigation .geography-category-groups { column-count: 2; column-width: 280px; column-gap: 20px; }
.ananas-public .ananas-geography-navigation .geography-category { display: inline-block; width: 100%; margin: 0 0 16px; vertical-align: top; break-inside: avoid; }
.ananas-public .ananas-geography-navigation .geography-category-title { margin: 0 0 6px; font-size: 17px; line-height: 1.5; }
.ananas-public .ananas-geography-navigation .geography-subcategories { margin: 0; padding: 0 0 0 6px; list-style: none; }
.ananas-public .ananas-geography-navigation .geography-subcategories > li { margin: 0; padding: 0; }
.ananas-public .ananas-geography-navigation .geography-subcategories a { display: block; min-height: 36px; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: #365c3d; font-size: 15px; font-weight: 400; line-height: 1.6; text-decoration: none; }
.ananas-public .ananas-geography-navigation .geography-subcategory-arrow { margin-right: 4px; color: #61765e; }
.ananas-public .ananas-geography-navigation a:hover { border-color: #b6c8ad; background: #edf3e7; }
.ananas-public .ananas-geography-navigation a:focus-visible { outline: 3px solid #ca942e; outline-offset: 2px; }
@media (max-width: 699px) {
  .ananas-public .ananas-geography-navigation .geography-links { grid-template-columns: minmax(0, 1fr); }
  .ananas-public .ananas-geography-navigation .geography-category-groups { column-count: 1; }
  .ananas-public .ananas-geography-navigation .geography-subcategories a { min-height: 44px; padding: 9px 10px; }
}
@media (max-width: 579px) {
  .ananas-public .ananas-geography-results :is(.companyA, .companyB, .companyC, .companyD) { font-size: 17px; }
}
