/* ═══════════════════════════════════════════════════════════
   SIMPLYZEN BUILDER - FRONTEND ELEMENT STYLES
   ═══════════════════════════════════════════════════════════ */

.sz-container { max-width:1200px;margin:0 auto;padding:0 20px; }
.sz-section { position:relative;overflow:hidden; }
.sz-section--full .sz-container { max-width:100%;padding:0; }
.sz-section__overlay { position:absolute;top:0;left:0;right:0;bottom:0;background:#000;z-index:1;pointer-events:none; }
.sz-section > .sz-container { position:relative;z-index:2; }

.sz-row { display:flex;flex-wrap:wrap; }
.sz-col { min-width:0; }

@media(max-width:768px) {
  .sz-row { flex-direction:column; }
  .sz-row .sz-col { flex:0 0 100%!important;max-width:100%!important; }
  .sz-row--reverse-mobile { flex-direction:column-reverse; }
}

/* Heading */
.sz-heading { line-height:1.3;margin-bottom:0.5em; }

/* Text */
.sz-text { line-height:1.7; }
.sz-text p:last-child { margin-bottom:0; }

/* Image */
.sz-image { margin:0; }
.sz-image img { display:block;max-width:100%;height:auto; }
.sz-image--center { text-align:center; }
.sz-image--left { text-align:left; }
.sz-image--right { text-align:right; }
.sz-image--placeholder { background:#f4f4f5;padding:40px;text-align:center;color:#a1a1aa;border-radius:8px; }

/* Button */
.sz-btn-wrap { margin:10px 0; }
.sz-btn { display:inline-block;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;transition:all .2s;border:2px solid transparent;line-height:1.4; }
.sz-btn--primary { background:#7c3aed;color:#fff;border-color:#7c3aed; }
.sz-btn--primary:hover { background:#6d28d9;border-color:#6d28d9; }
.sz-btn--secondary { background:#27272a;color:#fff;border-color:#27272a; }
.sz-btn--secondary:hover { background:#18181b; }
.sz-btn--outline { background:transparent;color:#7c3aed;border-color:#7c3aed; }
.sz-btn--outline:hover { background:#7c3aed;color:#fff; }
.sz-btn--white { background:#fff;color:#18181b;border-color:#fff; }
.sz-btn--white:hover { background:#f4f4f5; }
.sz-btn--link { background:none;color:#7c3aed;text-decoration:underline;border:none;padding:0!important; }
.sz-btn--small { padding:6px 16px;font-size:13px; }
.sz-btn--medium { padding:10px 24px;font-size:14px; }
.sz-btn--large { padding:14px 32px;font-size:16px; }
.sz-btn--xlarge { padding:18px 40px;font-size:18px; }

/* Divider */
.sz-divider { border:none;border-top:1px solid #e4e4e7;height:0; }

/* Icon Box */
.sz-icon-box { margin-bottom:20px; }
.sz-icon-box--top { display:flex;flex-direction:column;align-items:center; }
.sz-icon-box--left { display:flex;align-items:flex-start;gap:16px; }
.sz-icon-box--right { display:flex;align-items:flex-start;gap:16px;flex-direction:row-reverse; }
.sz-icon-box__icon { flex-shrink:0;margin-bottom:12px; }
.sz-icon-box--left .sz-icon-box__icon,
.sz-icon-box--right .sz-icon-box__icon { margin-bottom:0; }
.sz-icon-box__title { font-size:18px;margin:0 0 6px;font-weight:700; }
.sz-icon-box__text { margin:0;color:#71717a;line-height:1.6; }
.sz-icon-box__link { text-decoration:none;color:inherit;display:block; }

/* Testimonial */
.sz-testimonial { padding:24px;border-radius:12px;text-align:center;margin-bottom:20px; }
.sz-testimonial--card { background:#f9fafb;border:1px solid #e4e4e7; }
.sz-testimonial--minimal { background:transparent; }
.sz-testimonial--bubble { background:#f9fafb;border-radius:16px;position:relative; }
.sz-testimonial--bubble::after { content:'';position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);border:10px solid transparent;border-top-color:#f9fafb; }
.sz-testimonial__stars { color:#f59e0b;font-size:18px;margin-bottom:10px; }
.sz-testimonial__quote { font-size:16px;line-height:1.6;margin:0 0 16px;font-style:italic; }
.sz-testimonial__author { display:flex;align-items:center;justify-content:center;gap:12px; }
.sz-testimonial__avatar { width:48px;height:48px;border-radius:50%;object-fit:cover; }
.sz-testimonial__info { text-align:left; }
.sz-testimonial__info strong { display:block;font-size:14px; }
.sz-testimonial__info span { color:#71717a;font-size:13px; }

/* Pricing */
.sz-pricing { background:#fff;border:2px solid #e4e4e7;border-radius:16px;padding:32px;text-align:center;position:relative;transition:transform .2s,box-shadow .2s; }
.sz-pricing:hover { transform:translateY(-4px);box-shadow:0 10px 40px rgba(0,0,0,.1); }
.sz-pricing--featured { border-color:#7c3aed;box-shadow:0 4px 20px rgba(124,58,237,.15); }
.sz-pricing__badge { position:absolute;top:-12px;left:50%;transform:translateX(-50%);color:#fff;font-size:11px;font-weight:700;padding:4px 16px;border-radius:20px; }
.sz-pricing__title { font-size:20px;margin:0 0 8px; }
.sz-pricing__price { margin:16px 0; }
.sz-pricing__amount { font-size:42px;font-weight:800; }
.sz-pricing__period { font-size:14px;color:#71717a; }
.sz-pricing__features { list-style:none;padding:0;margin:20px 0;text-align:left; }
.sz-pricing__features li { padding:8px 0;border-bottom:1px solid #f4f4f5;font-size:14px; }
.sz-pricing__cta { margin-top:24px; }
.sz-pricing__cta .sz-btn { width:100%; }

/* Accordion */
.sz-accordion { border:1px solid #e4e4e7;border-radius:8px;overflow:hidden; }
.sz-accordion--minimal { border:none; }
.sz-accordion--minimal .sz-accordion__item { border-bottom:1px solid #e4e4e7; }
.sz-accordion__header { padding:14px 18px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:#f9fafb;transition:background .15s;user-select:none; }
.sz-accordion__header:hover { background:#f4f4f5; }
.sz-accordion__icon { transition:transform .2s;font-size:18px;color:#71717a; }
.sz-accordion__item--open .sz-accordion__icon { transform:rotate(45deg); }
.sz-accordion__body { max-height:0;overflow:hidden;transition:max-height .3s ease; }
.sz-accordion__item--open .sz-accordion__body { max-height:500px; }
.sz-accordion__content { padding:14px 18px; }

/* Countdown */
.sz-countdown { text-align:center;padding:20px; }
.sz-countdown__title { font-size:18px;font-weight:700;margin-bottom:16px; }
.sz-countdown__timer { display:flex;gap:12px;justify-content:center; }
.sz-countdown__unit { background:#f4f4f5;padding:16px 20px;border-radius:12px;min-width:80px; }
.sz-countdown__num { font-size:32px;font-weight:800;display:block; }
.sz-countdown__label { font-size:12px;color:#71717a;text-transform:uppercase;letter-spacing:1px; }

/* Banner */
.sz-banner { position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden; }
.sz-banner--full { width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw; }
.sz-banner__overlay { position:absolute;top:0;left:0;right:0;bottom:0;background:#000;z-index:1; }
.sz-banner__content { position:relative;z-index:2;padding:40px 20px;max-width:800px;width:100%; }
.sz-banner__title { font-size:36px;font-weight:800;margin:0 0 12px;line-height:1.2; }
.sz-banner__subtitle { font-size:18px;margin:0 0 24px;opacity:.9;line-height:1.5; }
@media(max-width:768px) {
  .sz-banner__title { font-size:24px; }
  .sz-banner__subtitle { font-size:15px; }
}

/* Gallery */
.sz-gallery img { width:100%;height:100%;object-fit:cover;border-radius:4px;display:block; }
.sz-gallery__item { overflow:hidden;border-radius:4px; }

/* Video */
.sz-video iframe { border:0; }

/* Map */
.sz-map { border-radius:8px;overflow:hidden; }
.sz-map iframe { width:100%;border:0; }

/* Slider */
.sz-slider { position:relative;overflow:hidden; }
.sz-slider__track { display:flex;transition:transform .4s ease; }
.sz-slider__slide { flex:0 0 100%;min-width:100%; }
.sz-slider__arrow { position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.5);color:#fff;border:none;padding:12px 16px;font-size:24px;cursor:pointer;z-index:5;border-radius:4px;transition:background .2s; }
.sz-slider__arrow:hover { background:rgba(0,0,0,.8); }
.sz-slider__arrow--prev { left:10px; }
.sz-slider__arrow--next { right:10px; }
.sz-slider__dots { text-align:center;padding:12px;position:absolute;bottom:0;left:0;right:0; }
.sz-slider__dot { display:inline-block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);margin:0 4px;cursor:pointer;transition:background .2s; }
.sz-slider__dot.active { background:#fff; }

/* Slider JS */
