/* ═══════════════════════════════════════════════════
   Andes Travel Blocks — Frontend Styles
   Compatible: Elementor, Astra, Gutenberg
═══════════════════════════════════════════════════ */

/* ── CSS Custom Properties (fallbacks) ── */
.atb-block {
    --atb-accent:  #F68712;
    --atb-title:   #3B6E4D;
    --atb-bg:      #F4F1EC;
    --atb-text:    #231F20;
    --atb-radius:  6px;
    --atb-font:    'Helvetica Neue', Helvetica, Arial, sans-serif;
    --atb-shadow:  0 2px 12px rgba(0,0,0,.07);
    font-family:   var(--atb-font);
    color:         var(--atb-text);
    max-width:     800px;
    margin:        20px auto;
    line-height:   1.8;
    box-sizing:    border-box;
}

/* ── Inner card ── */
.atb-inner {
    margin-bottom:   20px;
    padding:         24px 28px;
    border-left:     5px solid var(--atb-accent);
    background-color:var(--atb-bg);
    border-radius:   0 var(--atb-radius) var(--atb-radius) 0;
    box-shadow:      var(--atb-shadow);
    transition:      box-shadow .25s ease;
}
.atb-inner:hover { box-shadow: 0 4px 20px rgba(0,0,0,.12); }

/* ── Heading ── */
.atb-heading {
    color:          var(--atb-title);
    margin-top:     0;
    margin-bottom:  14px;
    font-size:      1.05rem;
    font-weight:    700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ── Info paragraphs ── */
.atb-info-item {
    margin-bottom: 14px;
    font-size:     .97rem;
}
.atb-info-item:last-child { margin-bottom: 0; }

/* ── Lists ── */
.atb-list {
    margin:       0;
    padding-left: 0;
}

/* Check-icon list */
.atb-check-list { list-style: none; padding-left: 0; }
.atb-check-list .atb-list-item {
    display:       flex;
    align-items:   flex-start;
    gap:           10px;
    margin-bottom: 10px;
    font-size:     .97rem;
}
.atb-check-list .atb-item-icon {
    flex-shrink:  0;
    color:        var(--atb-accent);
    font-weight:  700;
    min-width:    22px;
    margin-top:   2px;
}

/* Square list */
.atb-square-list {
    list-style-type: square;
    padding-left:    22px;
}
.atb-square-list li {
    margin-bottom: 8px;
    font-size:     .97rem;
}

/* Plain list */
.atb-plain-list { list-style: none; padding-left: 0; }
.atb-plain-list .atb-list-item {
    display:       flex;
    align-items:   flex-start;
    gap:           10px;
    margin-bottom: 10px;
    font-size:     .97rem;
}

/* ── Itinerary list ── */
.atb-itinerary-list { list-style: none; padding-left: 0; }
.atb-day-item {
    display:       flex;
    align-items:   baseline;
    gap:           10px;
    margin-bottom: 10px;
    font-size:     .97rem;
    border-bottom: 1px dashed rgba(0,0,0,.08);
    padding-bottom:8px;
}
.atb-day-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.atb-day-badge {
    flex-shrink:  0;
    background:   var(--atb-accent);
    color:        #fff;
    font-size:    .75rem;
    font-weight:  700;
    letter-spacing:.05em;
    padding:      2px 8px;
    border-radius:3px;
    white-space:  nowrap;
}
.atb-day-icon { flex-shrink: 0; font-size: 1rem; }
.atb-day-desc { flex: 1; }

/* ── Inclusions layout ── */
.atb-inclusions .atb-included { border-left-color: var(--atb-accent, #3B6E4D); }
.atb-inclusions .atb-excluded { border-left-color: var(--atb-accent, #F68712); }

/* ── Custom section content ── */
.atb-content { margin-bottom: 14px; font-size: .97rem; }
.atb-content p { margin-bottom: 10px; }
.atb-content p:last-child { margin-bottom: 0; }

/* ── Responsive ── */
@media (max-width: 600px) {
    .atb-block { margin: 12px auto; }
    .atb-inner { padding: 16px 18px; }
    .atb-heading { font-size: .95rem; }
    .atb-day-badge { font-size: .68rem; padding: 2px 6px; }
}

/* ── Astra theme compatibility ── */
.ast-container .atb-block,
.ast-page-builder-template .atb-block { max-width: 100%; }

/* ── Elementor compatibility ── */
.elementor-widget-atb-packing-list .atb-block,
.elementor-widget-atb-travel-info  .atb-block,
.elementor-widget-atb-inclusions   .atb-block,
.elementor-widget-atb-itinerary    .atb-block,
.elementor-widget-atb-custom-section .atb-block { max-width: 100%; margin: 0; }
