.elementor-382 .elementor-element.elementor-element-2958e4f:not(.elementor-motion-effects-element-type-background), .elementor-382 .elementor-element.elementor-element-2958e4f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8cedb1b );}.elementor-382 .elementor-element.elementor-element-2958e4f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:5em 0em 5em 0em;}.elementor-382 .elementor-element.elementor-element-2958e4f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-382 .elementor-element.elementor-element-96efcc4{text-align:center;}.elementor-382 .elementor-element.elementor-element-222db53{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-382 .elementor-element.elementor-element-222db53:not(.elementor-motion-effects-element-type-background), .elementor-382 .elementor-element.elementor-element-222db53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8cedb1b );}.elementor-382 .elementor-element.elementor-element-22373ce{--display:flex;--border-radius:15px 15px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-382 .elementor-element.elementor-element-22373ce:not(.elementor-motion-effects-element-type-background), .elementor-382 .elementor-element.elementor-element-22373ce > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-382 .elementor-element.elementor-element-3461ae9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-382 .elementor-element.elementor-element-3461ae9:not(.elementor-motion-effects-element-type-background), .elementor-382 .elementor-element.elementor-element-3461ae9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8cedb1b );}.elementor-382 .elementor-element.elementor-element-929aadc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--border-radius:0px 0px 15px 15px;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-382 .elementor-element.elementor-element-929aadc:not(.elementor-motion-effects-element-type-background), .elementor-382 .elementor-element.elementor-element-929aadc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-dcc9f72 );}.elementor-382 .elementor-element.elementor-element-654b7ae .elementor-button{background-color:var( --e-global-color-dcc9f72 );fill:var( --e-global-color-818a527 );color:var( --e-global-color-818a527 );border-style:solid;border-width:1px 1px 1px 1px;}.elementor-382 .elementor-element.elementor-element-654b7ae .elementor-button:hover, .elementor-382 .elementor-element.elementor-element-654b7ae .elementor-button:focus{background-color:var( --e-global-color-032d376 );color:var( --e-global-color-dcc9f72 );}.elementor-382 .elementor-element.elementor-element-654b7ae .elementor-button:hover svg, .elementor-382 .elementor-element.elementor-element-654b7ae .elementor-button:focus svg{fill:var( --e-global-color-dcc9f72 );}.elementor-382 .elementor-element.elementor-element-0c8042a .elementor-button{background-color:var( --e-global-color-dcc9f72 );fill:var( --e-global-color-818a527 );color:var( --e-global-color-818a527 );border-style:solid;border-width:1px 1px 1px 1px;}.elementor-382 .elementor-element.elementor-element-0c8042a .elementor-button:hover, .elementor-382 .elementor-element.elementor-element-0c8042a .elementor-button:focus{background-color:var( --e-global-color-032d376 );color:var( --e-global-color-dcc9f72 );}.elementor-382 .elementor-element.elementor-element-0c8042a .elementor-button:hover svg, .elementor-382 .elementor-element.elementor-element-0c8042a .elementor-button:focus svg{fill:var( --e-global-color-dcc9f72 );}.elementor-382 .elementor-element.elementor-element-19ba955 .elementor-button{background-color:var( --e-global-color-dcc9f72 );fill:var( --e-global-color-818a527 );color:var( --e-global-color-818a527 );border-style:solid;border-width:1px 1px 1px 1px;}.elementor-382 .elementor-element.elementor-element-19ba955 .elementor-button:hover, .elementor-382 .elementor-element.elementor-element-19ba955 .elementor-button:focus{background-color:var( --e-global-color-032d376 );color:var( --e-global-color-dcc9f72 );}.elementor-382 .elementor-element.elementor-element-19ba955 .elementor-button:hover svg, .elementor-382 .elementor-element.elementor-element-19ba955 .elementor-button:focus svg{fill:var( --e-global-color-dcc9f72 );}:root{--page-title-display:none;}/* Start custom CSS for wp-widget-gd_add_listing, class: .elementor-element-8685230 *//* === Package cards: centered flexible layout === */
[data-argument="package_id"] .col-sm-10 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: left;   /* center items each row */
  align-items: stretch;
}

/* Cards */
[data-argument="package_id"] .form-check {
  flex: 0 1 450px;           /* do not grow; min width ≈340px */
  max-width: 450px;          /* optional cap */
  margin: 0;
}

/* Help text full width */
[data-argument="package_id"] .col-sm-10 > .form-text {
  flex: 1 0 100%;
  margin-top: .25rem;
}

/* Phones: stack vertically */
@media (max-width: 575.98px) {
  [data-argument="package_id"] .form-check {
    flex: 0 1 100%;
    max-width: none;
  }
}








/* === Card base === */
[data-argument="package_id"] .form-check {
  margin: 0; /* the grid gap handles spacing */
}

/* Hide native radio but keep it focusable/accessibile */
[data-argument="package_id"] .form-check-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Turn the label into a card */
[data-argument="package_id"] .form-check-label {
  display: block;
  height: 100%;
  border: 1.5px solid #ced4da;        /* grey border for unselected */
  background: #fff;                    /* white for unselected */
  border-radius: 10px;
  padding: 1rem 1.125rem;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

/* Icon + text niceties (optional) */
[data-argument="package_id"] .form-check-label i {
  margin-right: .5rem;
  vertical-align: -1px;
  color: #6c757d;
}

/* Hover feedback (desktop) */
@media (hover: hover) {
  [data-argument="package_id"] .form-check-label:hover {
    border-color: #9bbcf6;
  }
}

/* Selected state: blue background like you described */
[data-argument="package_id"] .form-check-input:checked + .form-check-label {
  background: #e7f1ff;                 /* soft blue */
  border-color: #007bff;               /* blue border */
  box-shadow: inset 0 0 0 2px rgba(0,123,255,.15);
}

/* Optional: brighten icon and title in selected state */
[data-argument="package_id"] .form-check-input:checked + .form-check-label i {
  color: #007bff;
}

/* Keyboard focus ring on the card (when the radio gets focus) */
[data-argument="package_id"] .form-check-input:focus + .form-check-label {
  box-shadow: 0 0 0 3px rgba(0,123,255,.25);
}

/* Compact price text stays inline; adjust if needed */
[data-argument="package_id"] .form-check-label .geodir-price-name {
  white-space: nowrap;
}





/* Keep each parent + children block together in one column */
#gd_businesscategory_wrap .main_list > span,
#gd_businesscategory_wrap .sub_list {
  display: block;
  break-inside: avoid;   /* prevent column break inside groups */
  -webkit-column-break-inside: avoid; /* Safari/Chrome */
  page-break-inside: avoid;           /* older support */
}

/* Add spacing before parent categories */
#gd_businesscategory_wrap .main_list > span {
  margin-top: 1rem;   /* space before each parent */
  font-weight: bold;  /* optional: highlight parents */
}

/* Add spacing after the children lists */
#gd_businesscategory_wrap .sub_list {
  margin-bottom: 1.5rem; /* space after each group */
}

/* Maintain the multi-column layout */
#gd_businesscategory_wrap .main_list {
  column-count: 3;
  column-gap: 2rem; /* spacing between columns */
}



/* keep the parent label and its children together */
#gd_businesscategory_wrap .main_list > span {
  /* don't allow a break right after the parent */
  break-after: avoid-column;
  -webkit-column-break-after: avoid; /* Chrome/Safari */
  
  /* nice spacing & emphasis (optional) */
  margin-top: 0rem;
  font-weight: 600;
}

#gd_businesscategory_wrap .main_list > .sub_list {
  /* don't allow a break right before the children */
  break-before: avoid-column;
  -webkit-column-break-before: avoid; /* Chrome/Safari */

  /* also discourage breaking inside the children block */
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;

  margin-bottom: 1.5rem; /* space after group */
}

/* keep using columns */
#gd_businesscategory_wrap .main_list {
  column-count: 3;
  column-gap: 2rem;
}


#gd_businesscategory_wrap {
  display: flex;
  flex-direction: column;
}



/* === Responsive column layout for category list === */
@media (max-width: 768px) {
  #gd_businesscategory_wrap .main_list {
    column-count: 2;   /* switch to two columns on tablets & small devices */
  }
}

@media (max-width: 480px) {
  #gd_businesscategory_wrap .main_list {
    column-count: 1;   /* single column for very small screens (optional) */
  }
}




/* Target the <small> help text */
#gd_businesscategory_wrap > small.form-text {
  order: -1;              /* move to the top */
  margin-bottom: 1rem;    /* add spacing below it */
}


/* Replace "Default Category" with "Main Category" and keep the asterisk inline */
label.col-form-label[for="default_category"] {
  font-size: 0 !important;   /* collapse the original text */
  line-height: 0 !important; /* remove leftover line height */
}

/* Inject replacement text in the normal flow (properly aligned) */
label.col-form-label[for="default_category"]::before {
  content: "Main Category ";
  font-size: 1rem;           /* match your form label size */
  line-height: 1.5;          /* match Bootstrap’s default line-height */
  color: var(--bs-body-color, #212529);
}

/* Show the red asterisk next to the new text */
label.col-form-label[for="default_category"] .text-danger {
  font-size: 1rem;           /* restore size since parent is 0 */
  line-height: 1.5;
  color: #dc3545;
  margin-left: 0.25rem;
  vertical-align: baseline;
}




/* === Buttons in the "Submit Listing" row === */
#geodir-add-listing-submit .geodir_button.btn {
  border-radius: 10px !important; /* rounded corners for all buttons */
  padding: 0.6rem 1.25rem;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

/* Primary Submit button */
#geodir-add-listing-submit .btn.btn-primary {
  background-color: #418cfe !important; /* main blue */
  border-color: #418cfe !important;
  color: #fff !important;               /* white text */
}

/* Outline (Preview) button */
#geodir-add-listing-submit .btn.btn-outline-primary {
  border-radius: 10px !important;
  color: #418cfe !important;
  border-color: #418cfe !important;
  background-color: #fff;
}

/* === Hover states for BOTH buttons === */
#geodir-add-listing-submit .btn.btn-primary:hover,
#geodir-add-listing-submit .btn.btn-outline-primary:hover,
#geodir-add-listing-submit .btn.btn-primary:focus,
#geodir-add-listing-submit .btn.btn-outline-primary:focus {
  background-color: #a4c2f7 !important; /* your requested hover blue */
  border-color: #a4c2f7 !important;
  color: #fff !important;               /* white text on hover */
}

/* === Centered but evenly spaced button alignment === */
#geodir-add-listing-submit .col-sm-10 {
  display: flex;
  justify-content: space-evenly; /* places one button on each side of center */
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Ensure buttons don't stretch unevenly */
#geodir-add-listing-submit .geodir_button.btn {
  margin: 0;
  min-width: 180px; /* optional: consistent button width */
  text-align: center;
}

/* === Mobile view: stack buttons vertically and center === */
@media (max-width: 767.98px) {
  #geodir-add-listing-submit .col-sm-10 {
    flex-direction: column;       /* stack vertically */
    justify-content: center;      /* center vertically */
    align-items: center;          /* center horizontally */
    gap: 0.75rem;                 /* space between stacked buttons */
  }

  #geodir-add-listing-submit .geodir_button.btn {
    width: 80%;                   /* optional: make buttons wider on mobile */
    max-width: 300px;             /* cap width for neat look */
  }
}/* End custom CSS */