/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Tags: translation-ready,accessibility-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.3.6
Updated: 2025-09-28 07:01:15
*/

/* Multi-step Business Registration - Stogiesdepot Theme */

/* (Removed legacy wizard progress + step visibility classes) */

/* Full-width registration form adjustments */
.sd-register-fullwidth {
  max-width: 960px;
  margin: 0 auto;
  padding: 30px 20px;
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
}
.sd-register-fullwidth h2.sd-register-title {
  margin-top: 0;
  font-size: 32px;
  line-height: 1.2;
}
.sd-register-fullwidth form.register .sd-step {
  display: none;
}
.sd-register-fullwidth form.register .sd-step.active {
  display: block;
}
.sd-register-fullwidth .sd-progress {
  display: flex;
  gap: 10px;
  margin: 0 0 20px;
}
.sd-register-fullwidth .sd-step-dot {
  background: #f1f1f1;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
}
.sd-register-fullwidth .sd-step-dot.active {
  background: var(--global-palette-btn-bg);
  color: #fff;
}
.sd-register-fullwidth .sd-actions {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}
.sd-register-fullwidth .sd-login-cta {
  text-align: right;
  margin: 0 0 10px;
  font-size: 14px;
}
.sd-register-fullwidth .sd-login-button {
  display: inline-block;
  padding: 4px 10px;
  background: var(--global-palette-btn-bg);
  color: #fff;
  border-radius: 3px;
  text-decoration: none;
  font-size: 13px;
}
.sd-register-fullwidth .sd-login-button:hover {
  background: var(--global-palette-btn-bg-hover);
  color: #fff;
  text-decoration: none;
}
.sd-register-fullwidth .woocommerce-form-row {
  position: relative;
}
.sd-register-fullwidth .sd-error {
  color: #b81c23;
  font-size: 12px;
  margin-top: 3px;
}
/* Action buttons container */
.sd-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.5rem;
  justify-content: space-between;
}

/* Error messages (enhanced from Divi base) */
.sd-error {
  color: #b81c23;
  font-size: 12px;
  margin-top: 5px;
  font-style: italic;
}

/* Utility classes */
.sd-hidden {
  display: none !important;
}

/* Document list styling */
.sd-doc-list {
  list-style: none;
  padding: 0;
  margin-top: 10px;
}

.sd-doc-list li {
  margin-bottom: 5px;
}

.sd-doc-list a {
  color: var(--global-palette1);
  text-decoration: none;
  font-size: 13px;
}

.sd-doc-list a:hover {
  text-decoration: underline;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .sd-progress {
    justify-content: flex-start;
  }

  .sd-progress .sd-step-dot {
    font-size: 11px;
    padding: 10px 12px;
  }

  .sd-actions {
    flex-direction: column;
    gap: 10px;
  }

  .sd-actions .button {
    width: 100%;
    text-align: center;
  }
}

/* ===============================
     Accordion Registration (Steps)
     =============================== */
.sd-accordion .sd-step {
  margin: 0 0 1.75rem;
  border: 1px solid #dcdfe3;
  border-radius: 5px;
  background: #fff;
}
.sd-accordion .sd-step-header {
  margin: 0;
  padding: 0;
}
.sd-accordion .sd-step-toggle {
  width: 100%;
  text-align: left;
  padding: 0.95rem 1.1rem;
  background: #f5f7f9;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.02rem;
	color: var(--global-palette5);
}
.sd-accordion .sd-step-toggle:focus {
  outline: 2px solid var(--global-palette1);
  outline-offset: -2px;
}
.sd-accordion .sd-step-toggle .sd-step-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.sd-accordion .sd-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--global-palette1);
  color: #fff;
  border-radius: 50%;
  position: relative;
}
.sd-accordion .sd-step.complete .sd-step-number {
  background: var(--global-palette2);
}
.sd-accordion .sd-step.complete .sd-step-number:after {
  content: "\2713";
  font-size: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sd-accordion .sd-step.collapsed .sd-step-body {
  display: none;
}
.sd-accordion .sd-step-body {
  padding: 1.1rem 1.2rem 1.3rem;
  border-top: 1px solid #e3e6e9;
}
.sd-accordion .sd-chevron {
  transition: transform 0.25s ease;
  font-size: 0.95rem;
}
.sd-accordion .sd-step.collapsed .sd-chevron {
  transform: rotate(-90deg);
}
/* Ensure accordion steps are visible regardless of legacy .sd-step display rules */
.sd-accordion .sd-step {
  display: block;
}
.sd-accordion .sd-step.locked {
  opacity: 0.55;
}
.sd-accordion .sd-step.locked .sd-step-toggle {
  cursor: not-allowed;
  position: relative;
}
.sd-accordion .sd-step.locked .sd-step-toggle:after {
  content: "Locked";
  font-size: 0.65rem;
  font-weight: 600;
  color: #555;
  margin-left: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Disabled form fields in locked steps */
.sd-accordion .sd-step.locked .sd-step-body input:disabled,
.sd-accordion .sd-step.locked .sd-step-body select:disabled,
.sd-accordion .sd-step.locked .sd-step-body textarea:disabled {
  background-color: #f5f5f5;
  color: #999;
  cursor: not-allowed;
  opacity: 0.6;
}

.sd-accordion .sd-step.locked .sd-step-body label {
  color: #999;
  cursor: not-allowed;
}

/* Hide collapsed step bodies */
.sd-accordion .sd-step.collapsed .sd-step-body {
  display: none;
}

/* Prevent interaction with locked step toggles */
.sd-accordion .sd-step.locked .sd-step-toggle {
  pointer-events: none;
  cursor: not-allowed;
}

/* Visual feedback for locked step chevrons */
.sd-accordion .sd-step.locked .sd-chevron {
  opacity: 0.5;
}

/* Show expanded step bodies */
.sd-accordion .sd-step:not(.collapsed) .sd-step-body {
  display: block;
  padding: 1.1rem;
}

/* Step navigation buttons */
.sd-step-actions {
  border-top: 1px solid #e2e4e7;
  padding-top: 1rem;
  margin-top: 1.5rem;
}

.sd-step-actions .button {
  min-width: 120px;
  padding: 0.6rem 1.2rem;
  font-size: 0.9rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.sd-step-actions .button-secondary {
  background: #f7f7f9;
  color: #666;
  border: 1px solid #d2d6dc;
}

.sd-step-actions .button-secondary:hover:not(:disabled) {
  background: #e5e7eb;
  color: #374151;
}

.sd-step-actions .button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.sd-next-btn:not(:disabled) {
  background: var(--global-palette1);
  color: white;
}

.sd-next-btn:not(:disabled):hover {
  background: var(--global-palette-btn-bg-hover);
  transform: translateX(2px);
}

/* Field validation error styles */
.sd-field-error {
  color: #b81c23 !important;
  font-size: 12px !important;
  margin-top: 5px !important;
  font-style: italic;
  display: block;
}

.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea {
  border-color: #b81c23 !important;
  box-shadow: 0 0 0 1px rgba(184, 28, 35, 0.2) !important;
}

.woocommerce-invalid label {
  color: #b81c23;
}

.woocommerce .product .button.single_add_to_cart_button {
	background: #1f2933;
}

.woocommerce .product .button.single_add_to_cart_button:hover {
	background: #141A20;
}

/* Button state visual feedback */
.button-enabled {
  background: var(--global-palette1) !important;
  color: white !important;
  cursor: pointer !important;
  opacity: 1 !important;
}

.button-disabled {
  background: #ccc !important;
  color: #999 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

/* Summary locked state */
.sd-steps-accordion-summary li.is-locked {
  opacity: 0.5;
  cursor: not-allowed;
}
.sd-steps-accordion-summary li.is-locked button {
  cursor: not-allowed;
}

/* Summary pills */
.sd-steps-accordion-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}
.sd-steps-accordion-summary li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  background: #f7f7f9;
  border: 1px solid #e2e4e7;
  padding: 0.45rem 0.65rem 0.45rem 0.55rem;
  border-radius: 4px;
  position: relative;
}
.sd-steps-accordion-summary li button {
  all: unset;
  cursor: pointer;
  font-weight: 600;
  color: #333;
  transition: color 0.2s ease;
}
.sd-steps-accordion-summary li button:hover:not([aria-disabled="true"]) {
  color: var(--global-palette1);
}
.sd-steps-accordion-summary li button:focus {
  outline: 2px solid var(--global-palette1);
  outline-offset: 2px;
  border-radius: 2px;
}
.sd-steps-accordion-summary li.is-active {
  box-shadow: 0 0 0 2px var(--global-palette1) inset;
  background: var(--global-palette9);
}
.sd-steps-accordion-summary li.is-active button {
  color: var(--global-palette1);
}
.sd-steps-accordion-summary li.is-complete {
  background: #eefaf2;
  border-color: #c2e8cf;
}
.sd-steps-accordion-summary li.is-locked button {
  color: #999;
  cursor: not-allowed;
}
.sd-steps-accordion-summary .sd-step-check {
  color: var(--global-palette2);
  font-size: 0.95rem;
  line-height: 1;
  display: none;
}
.sd-steps-accordion-summary li.is-complete .sd-step-check {
  display: inline-block;
}

/* Validation + errors (accordion) */
.sd-accordion .sd-error {
  color: #b81c23;
  font-size: 0.72rem;
  margin-top: 2px;
}
.sd-accordion .woocommerce-invalid input,
.sd-accordion .woocommerce-invalid select,
.sd-accordion .woocommerce-invalid textarea {
  border-color: #b81c23 !important;
}

@media (max-width: 780px) {
  .sd-accordion .sd-step-toggle {
    font-size: 0.95rem;
    padding: 0.8rem 0.9rem;
  }
  .sd-steps-accordion-summary li {
    font-size: 0.78rem;
  }
}

/* ===============================
   Single Product (Cigar Wholesale)
   =============================== */
.sd-single-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}
.sd-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
.sd-col {
  padding: 0 15px;
  box-sizing: border-box;
}
.sd-col-3 {
  width: 25%;
}
.sd-col-6 {
  width: 50%;
}
.sd-col-12 {
  width: 100%;
}
.sd-single-wrapper .sd-pricing-info-wrapper {
	border: 1px solid #eee;
    padding: 10px;
}
@media (max-width: 900px) {
  .sd-col {
    width: 100% !important;
  }
}
.sd-gallery img {
  max-width: 100%;
  height: auto;
  display: block;
}
.sd-meta-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 25px;
}
.sd-meta-table th,
.sd-meta-table td {
  padding: 8px 10px;
  border: 1px solid #e3e5e7;
  font-size: 14px;
  text-align: left;
}
.sd-meta-table th {
  background: #f5f7f9;
  width: 180px;
}
.sd-length-bar-wrap {
  background: #ececec;
  border-radius: 4px;
  overflow: hidden;
  height: 12px;
  margin-top: 4px;
}
.sd-length-bar {
  background: #4a8f3c;
  height: 100%;
  transition: width 0.4s;
}
.sd-price-box {
  background: #f9fafb;
  border: 1px solid #e2e5e8;
  padding: 15px;
  border-radius: 6px;
}
.sd-login-box {
  background: #fff4e5;
  border: 1px solid #f3d2a4;
  padding: 15px;
  border-radius: 6px;
  text-align: center;
}
.sd-login-box a.button {
  margin-top: 10px;
  display: inline-block;
}
.sd-messages {
  margin-bottom: 10px;
}
.sd-variation-form .variations {
  margin-bottom: 12px;
}
.sd-variation-form .single_variation {
  margin: 10px 0;
}
.sd-details-col {
  margin-top: 40px;
}

.woocommerce .product .images.woocommerce-product-gallery.images {
  width: 100%;
}

/* ===============================
   Business Details File Upload Styles
   =============================== */
.sd-file-upload-section {
    margin-bottom: 30px;
}

.sd-file-upload-description {
    color: var(--global-palette3);
    margin-bottom: 15px;
    font-size: 14px;
    opacity: 0.8;
}

.sd-file-upload-container {
    position: relative;
    margin-bottom: 20px;
}

.sd-file-drop-zone {
    position: relative;
    border: 2px dashed color-mix(in srgb, var(--global-palette1) 40%, transparent);
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    background: color-mix(in srgb, var(--global-palette1) 2%, transparent);
    transition: all 0.3s ease;
    cursor: pointer;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.sd-file-drop-zone:hover,
.sd-file-drop-zone.sd-drag-over {
    border-color: var(--global-palette1);
    background: color-mix(in srgb, var(--global-palette1) 5%, transparent);
}

.sd-file-drop-zone.sd-drag-over {
    border-style: solid;
    transform: scale(1.02);
}

.sd-file-drop-zone.drag-over {
    border-color: var(--global-palette1);
    background: color-mix(in srgb, var(--global-palette1) 8%, transparent);
}

.sd-file-drop-zone input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.sd-drop-zone-content {
    pointer-events: none;
    z-index: 1;
}

.sd-drop-zone-content {
    pointer-events: none;
}

.sd-upload-icon {
    color: var(--global-palette3);
    margin-bottom: 12px;
    opacity: 0.6;
}

.sd-file-drop-zone:hover .sd-upload-icon,
.sd-file-drop-zone.sd-drag-over .sd-upload-icon {
    color: var(--global-palette1);
    opacity: 1;
}

.sd-drop-zone-text strong {
    display: block;
    color: var(--global-palette3);
    font-size: 16px;
    margin-bottom: 4px;
}

.sd-drop-zone-text span {
    color: var(--global-palette3);
    font-size: 14px;
    opacity: 0.7;
}

.sd-file-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.sd-existing-files,
.sd-new-files {
    margin-top: 20px;
}

.sd-existing-files h4,
.sd-new-files h4 {
    margin: 0 0 12px 0;
    color: var(--global-palette3);
    font-size: 16px;
    font-weight: 600;
}

.sd-file-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
}

.sd-file-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid color-mix(in srgb, var(--global-palette1) 20%, transparent);
    border-radius: 6px;
    transition: all 0.2s ease;
}

.sd-file-item:hover {
    border-color: color-mix(in srgb, var(--global-palette1) 40%, transparent);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.sd-file-icon {
    flex-shrink: 0;
    margin-right: 12px;
    color: var(--global-palette3);
    opacity: 0.6;
}

.sd-file-info {
    flex: 1;
    min-width: 0;
}

.sd-file-name {
    display: block;
    font-weight: 500;
    color: var(--global-palette3);
    text-decoration: none;
    word-break: break-all;
}

.sd-file-name:hover {
    color: var(--global-palette1);
}

.sd-file-size {
    font-size: 12px;
    color: var(--global-palette3);
    opacity: 0.6;
    margin-top: 2px;
}

.sd-file-actions {
    flex-shrink: 0;
    margin-left: 12px;
}

.sd-remove-checkbox {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #dc2626;
    cursor: pointer;
    margin: 0;
}

.sd-remove-checkbox input {
    margin-right: 6px;
    margin-bottom: 0;
}

.sd-remove-btn {
    background: none;
    border: none;
    color: #dc2626;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    transition: background-color 0.2s ease;
}

.sd-remove-btn:hover {
    background: #fee2e2;
}

.sd-file-upload-note {
    display: block;
    color: var(--global-palette3);
    opacity: 0.6;
    font-size: 12px;
    margin-top: 10px;
    font-style: italic;
}

/* Disabled state for file upload component */
.sd-file-drop-zone.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sd-file-drop-zone.disabled .sd-drop-zone-content {
    color: #999;
}

.sd-file-error {
    border-color: #dc2626;
    background: #fef2f2;
}

.sd-file-error .sd-file-name {
    color: #dc2626;
}

/* New files container and grid (for JavaScript file upload) */
.sd-new-files-container {
    margin-top: 20px;
    display: none;
}

.sd-new-files-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.sd-file-remove {
    background: #dc3232;
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
    padding: 0;
}

.sd-file-remove:hover {
    background: #a00;
}

.sd-file-drop-zone .sd-file-error {
    color: #dc3232;
    font-size: 12px;
    margin-top: 5px;
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    text-align: center;
}

.sd-error-message {
    font-size: 11px;
    color: #dc2626;
    margin-top: 2px;
}

@media (min-width: 768px) {
    .sd-file-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

/* ===============================
   Business Registration Accordion Styles
   =============================== */
.dc-steps-accordion-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    margin: 0 0 1.25rem;
    padding: 0;
    list-style: none;
}

.dc-steps-accordion-summary li {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .85rem;
    background: color-mix(in srgb, var(--global-palette1) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--global-palette1) 20%, transparent);
    padding: .45rem .65rem .45rem .55rem;
    border-radius: 4px;
    position: relative;
}

.dc-steps-accordion-summary li button {
    all: unset;
    cursor: pointer;
    font-weight: 600;
    color: var(--global-palette3);
}

.dc-steps-accordion-summary li.is-complete {
    background: color-mix(in srgb, var(--global-palette2) 10%, transparent);
    border-color: var(--global-palette2);
}

.dc-steps-accordion-summary li.is-active {
    box-shadow: 0 0 0 2px var(--global-palette1) inset;
}

.dc-steps-accordion-summary .dc-step-check {
    color: var(--global-palette2);
    font-size: .95rem;
    line-height: 1;
    display: inline-block;
}

.dc-step {
    margin: 0 0 1.75rem;
    border: 1px solid color-mix(in srgb, var(--global-palette1) 20%, transparent);
    border-radius: 5px;
    background: #fff;
}

.dc-step-header {
    margin: 0;
    padding: 0;
}

.dc-step-toggle {
    width: 100%;
    text-align: left;
    padding: .95rem 1.1rem;
    background: color-mix(in srgb, var(--global-palette1) 5%, transparent);
    border: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-weight: 600;
    font-size: 1.02rem;
    color: var(--global-palette3);
}

.dc-step-toggle:focus {
    outline: 2px solid var(--global-palette1);
    outline-offset: -2px;
}

.dc-step-toggle .dc-step-left {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.dc-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    font-size: .8rem;
    font-weight: 600;
    background: var(--global-palette1);
    color: #fff;
    border-radius: 50%;
}

.dc-step.complete .dc-step-number {
    background: var(--global-palette2);
}

.dc-step.complete .dc-step-number::after {
    content: '\2713';
    font-size: 1rem;
}

.dc-step.collapsed .dc-step-body {
    display: none;
}

.dc-step-body {
    padding: 1.1rem 1.2rem 1.3rem;
    border-top: 1px solid color-mix(in srgb, var(--global-palette1) 15%, transparent);
}

.dc-step-status-icon {
    font-size: .95rem;
    color: var(--global-palette2);
    display: none;
}

.dc-step.complete .dc-step-status-icon {
    display: inline-block;
}

.dc-chevron {
    transition: transform .25s ease;
    font-size: .95rem;
    color: var(--global-palette3);
    opacity: 0.7;
}

.dc-step.collapsed .dc-chevron {
    transform: rotate(-90deg);
}

.dc-error {
    color: #b81c23;
    font-size: .72rem;
    margin-top: 2px;
}

.woocommerce-invalid input,
.woocommerce-invalid select,
.woocommerce-invalid textarea {
    border-color: #b81c23 !important;
}

.dc-actions {
    text-align: right;
}

@media (prefers-reduced-motion: reduce) {
    :root {
        scroll-behavior: auto;
    }
    .dc-chevron {
        transition: none;
    }
}
