/* Abuilder Frontend Styles */

/* Base */
.abuilder-page * { box-sizing: border-box; }
.abuilder-clearfix::after { content: ''; display: table; clear: both; }

/* Section */
.abuilder-section {
  position: relative;
  width: 100%;
}
.abuilder-section.abuilder-section-full-width { padding: 0; }
.abuilder-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.abuilder-section-full-width > .abuilder-container { max-width: 100%; }

/* Column */
.abuilder-column { padding: 10px; }
.abuilder-column-wrap { height: 100%; }

/* Flexbox container */
.abuilder-container.abuilder-flex { display: flex; }
.abuilder-container.abuilder-grid { display: grid; }

/* Headings */
.abuilder-heading-title { line-height: 1.3; }

/* Text Editor */
.abuilder-text-editor { line-height: 1.6; }
.abuilder-text-editor p { margin-bottom: 1em; }
.abuilder-text-editor p:last-child { margin-bottom: 0; }
.abuilder-text-editor a { color: inherit; }

/* Image */
.abuilder-image { margin: 0; }
.abuilder-image-img { display: block; max-width: 100%; height: auto; }
.abuilder-image-placeholder {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 40px; background: #f5f5f5; color: #999;
}

/* Button */
.abuilder-button-wrapper {}
.abuilder-button {
  display: inline-block; padding: 12px 24px; text-decoration: none;
  border-radius: 3px; font-weight: 600; font-size: 15px; cursor: pointer;
  transition: all 0.2s ease; line-height: 1;
}
.abuilder-button-xs { padding: 6px 12px; font-size: 12px; }
.abuilder-button-sm { padding: 9px 18px; font-size: 13px; }
.abuilder-button-md { padding: 12px 24px; font-size: 15px; }
.abuilder-button-lg { padding: 15px 30px; font-size: 16px; }
.abuilder-button-xl { padding: 18px 36px; font-size: 18px; }
.abuilder-button:hover { opacity: 0.85; transform: translateY(-1px); }

/* Divider */
.abuilder-divider { overflow: hidden; }
.abuilder-divider-separator { display: block; }

/* Spacer */
.abuilder-spacer { display: block; }

/* Video */
.abuilder-video-container { width: 100%; }

/* Image Box */
.abuilder-image-box { display: block; }
.abuilder-image-box-img img { max-width: 100%; height: auto; margin-bottom: 15px; }
.abuilder-image-box-title { margin-bottom: 10px; }
.abuilder-image-box-description { margin: 0; }

/* Icon */
.abuilder-icon-wrapper {}
.abuilder-icon { display: inline-block; }
.abuilder-icon-view-stacked .abuilder-icon i { padding: 20px; border-radius: 50%; background: currentColor; }
.abuilder-icon-view-framed .abuilder-icon i { padding: 15px; border: 2px solid currentColor; border-radius: 50%; }

/* Icon Box */
.abuilder-icon-box { display: block; }
.abuilder-icon-box-left { display: flex; align-items: flex-start; gap: 15px; }
.abuilder-icon-box-right { display: flex; align-items: flex-start; gap: 15px; flex-direction: row-reverse; }
.abuilder-icon-box-content {}
.abuilder-icon-box-title { margin-bottom: 10px; }
.abuilder-icon-box-description { margin: 0; }

/* Counter */
.abuilder-counter {}
.abuilder-counter-number-wrapper { display: flex; align-items: baseline; justify-content: center; }
.abuilder-counter-number { font-size: 3em; font-weight: 700; }
.abuilder-counter-number-prefix, .abuilder-counter-number-suffix { font-size: 1.5em; }
.abuilder-counter-title { display: block; margin-top: 10px; }

/* Progress Bar */
.abuilder-progress-bar-wrapper {}
.abuilder-title-bar { margin-bottom: 8px; font-weight: 600; }
.abuilder-progress-bar { overflow: hidden; }
.abuilder-progress-bar-inner { transition: width 1.5s ease; }
.abuilder-progress-bar-inner-line { padding: 0 10px; font-size: 12px; color: #fff; white-space: nowrap; }

/* Accordion */
.abuilder-accordion {}
.abuilder-accordion-item { border-bottom: 1px solid #d4d4d4; }
.abuilder-tab-title {
  display: flex; align-items: center; gap: 10px;
  padding: 15px; cursor: pointer; font-weight: 600;
  user-select: none; transition: background 0.2s;
}
.abuilder-tab-title:hover { background: rgba(0,0,0,0.03); }
.abuilder-tab-title.abuilder-active .abuilder-accordion-icon i { transform: rotate(45deg); }
.abuilder-accordion-icon i { transition: transform 0.2s; }
.abuilder-tab-content { padding: 15px; line-height: 1.6; }

/* Tabs */
.abuilder-tabs {}
.abuilder-tab-links { display: flex; border-bottom: 2px solid #e0e0e0; }
.abuilder-tab-link {
  padding: 12px 20px; cursor: pointer; font-weight: 600; color: #666;
  border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.2s;
}
.abuilder-tab-link:hover { color: #333; }
.abuilder-tab-link.abuilder-active { color: #6941C6; border-bottom-color: #6941C6; }
.abuilder-tab-contents {}
.abuilder-tab-content { padding: 20px 0; line-height: 1.6; }
.abuilder-tabs-vertical { display: flex; }
.abuilder-tabs-vertical .abuilder-tab-links { flex-direction: column; border-bottom: none; border-right: 2px solid #e0e0e0; min-width: 150px; }
.abuilder-tabs-vertical .abuilder-tab-link { border-bottom: none; border-right: 2px solid transparent; margin-bottom: 0; margin-right: -2px; }
.abuilder-tabs-vertical .abuilder-tab-link.abuilder-active { border-right-color: #6941C6; }

/* Toggle */
.abuilder-toggle {}
.abuilder-toggle-item { border-bottom: 1px solid #e0e0e0; }
.abuilder-toggle-icon { margin-right: 10px; }

/* Social Icons */
.abuilder-social-icons { display: flex; flex-wrap: wrap; }
.abuilder-social-icon a { text-decoration: none; display: inline-flex; }

/* HTML */
.abuilder-custom-html {}

/* Shortcode */
.abuilder-shortcode {}

/* Gallery */
.abuilder-gallery {}
.abuilder-gallery-item img { display: block; width: 100%; height: auto; }

/* Testimonial */
.abuilder-testimonial {}
.abuilder-testimonial-content p { font-style: italic; margin-bottom: 15px; }
.abuilder-testimonial-meta { display: flex; align-items: center; justify-content: center; gap: 10px; }
.abuilder-testimonial-image img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.abuilder-testimonial-name { font-weight: 700; }
.abuilder-testimonial-job { color: #888; }

/* Alert */
.abuilder-alert { position: relative; }
.abuilder-alert-dismiss { background: none; border: none; font-size: 20px; cursor: pointer; position: absolute; top: 8px; right: 12px; }

/* Icon List */
.abuilder-icon-list { list-style: none !important; padding: 0 !important; }
.abuilder-icon-list-item { margin-bottom: 8px; }
.abuilder-icon-list-item a { text-decoration: none; }

/* Star Rating */
.abuilder-star-rating {}
.abuilder-star-rating-title { margin-bottom: 5px; }
.abuilder-star-rating-wrapper {}

/* Post Content */
.abuilder-post-content {}
.abuilder-post-content p { margin-bottom: 1em; }
.abuilder-post-content img { max-width: 100%; height: auto; }

/* Admin Bar Edit Link */
.abuilder-admin-bar-btn .ab-icon:before { content: '\f139'; font-family: dashicons; }

/* Meta Box */
.abuilder-meta-box { padding: 5px 0; }
.abuilder-edit-btn { width: 100%; text-align: center; justify-content: center; }

/* Responsive */
@media (max-width: 1024px) {
  .abuilder-column { padding: 8px; }
}
@media (max-width: 767px) {
  .abuilder-container { flex-direction: column; }
  .abuilder-column { width: 100% !important; padding: 8px; }
  .abuilder-tabs-vertical { flex-direction: column; }
  .abuilder-tabs-vertical .abuilder-tab-links { border-right: none; border-bottom: 2px solid #e0e0e0; flex-direction: row; }
}
