.iav-booking-widget {
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 22px;
    background: #fff;
    max-width: 1100px;
    margin: 24px auto;
}
.iav-booking-summary {
    background: #f8f8f8;
    border-radius: 8px;
    padding: 12px 16px;
    margin: 16px 0;
}
.iav-experience-list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
    display: grid;
    gap: 12px;
}
.iav-experience-list li {
    display: flex;
    gap: 12px;
    align-items: center;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 12px;
}
.iav-experience-list span {
    display: block;
    margin-top: 4px;
}
.iav-experience-thumb {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    flex: 0 0 72px;
}
.iav-button {
    display: inline-block;
    padding: 10px 16px;
    border-radius: 6px;
    background: #222;
    color: #fff;
    text-decoration: none;
}
.iav-management-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.iav-management-card {
    background: #f8f8f8;
    border-radius: 10px;
    padding: 16px;
}
.iav-management-card h3 {
    margin-top: 0;
}
.iav-front-big-number {
    font-size: 36px;
    margin: 0;
    font-weight: 700;
}
.iav-slot-mini-list {
    margin: 0;
    padding-left: 18px;
}
.iav-management-note {
    margin-top: 18px;
    font-size: 14px;
}
.iav-management-widget .widefat {
    width: 100%;
    border-collapse: collapse;
}
.iav-management-widget .widefat th,
.iav-management-widget .widefat td {
    border-bottom: 1px solid #e5e5e5;
    padding: 8px;
    text-align: left;
}

.iav-front-notice {
    border-left: 4px solid #2271b1;
    background: #f0f6fc;
    padding: 10px 14px;
    margin: 12px 0;
}
.iav-calendar-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin: 18px 0;
}
.iav-calendar-toolbar h2 {
    margin: 0 0 4px;
}
.iav-calendar-toolbar p {
    margin: 0;
    opacity: .75;
}
.iav-calendar-actions,
.iav-calendar-views {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.iav-calendar-toolbar .button,
.iav-manual-reservation-form .button,
.iav-calendar-views .button {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #222;
    text-decoration: none;
    background: #fff;
    color: #222;
    cursor: pointer;
}
.iav-calendar-toolbar .button-primary,
.iav-manual-reservation-form .button-primary {
    background: #222;
    color: #fff;
}
.iav-calendar-layout {
    display: grid;
    gap: 18px;
}
.iav-calendar-layout-with-form {
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
}
.iav-calendar-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 12px;
    overflow: hidden;
}
.iav-calendar-scroll {
    overflow-x: auto;
}
.iav-calendar-table {
    width: 100%;
    border-collapse: collapse;
}
.iav-calendar-table th,
.iav-calendar-table td {
    border: 1px solid #eee;
    padding: 10px;
    vertical-align: top;
}
.iav-calendar-table th {
    background: #f8f8f8;
    font-weight: 600;
}
.iav-calendar-week-table td,
.iav-calendar-week-table th {
    min-width: 120px;
}
.iav-slot-button {
    border: 0;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 600;
}
.iav-slot-free {
    background: #d1e7dd;
    color: #0f5132;
}
.iav-slot-busy {
    background: #f8d7da;
    color: #842029;
    cursor: default;
}
.iav-slot-cell-available {
    background: #f6fffa;
}
.iav-slot-cell-busy {
    background: #fff8f8;
}
.iav-slot-inline-summary {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.35;
}
.iav-muted,
.iav-muted-day {
    opacity: .65;
}
.iav-month-day-link {
    display: block;
    min-height: 72px;
    text-decoration: none;
    color: inherit;
}
.iav-month-day-link strong,
.iav-month-day-link span {
    display: block;
}
.iav-month-day-link span {
    font-size: 12px;
    margin-top: 4px;
}
.iav-manual-card {
    position: sticky;
    top: 24px;
}
.iav-manual-reservation-form select,
.iav-manual-reservation-form input[type="text"],
.iav-manual-reservation-form input[type="email"],
.iav-manual-reservation-form input[type="date"],
.iav-manual-reservation-form textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
@media (max-width: 1180px) {
    .iav-calendar-layout-with-form {
        grid-template-columns: 1fr;
    }
    .iav-manual-card {
        position: static;
    }
}

/* Formulário público de reserva */
.iav-public-booking-form {
    display: grid;
    gap: 18px;
}
.iav-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
}
.iav-form-card,
.iav-public-summary,
.iav-public-slots-card,
.iav-public-next-step {
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 16px;
    background: #fff;
}
.iav-form-card h3,
.iav-public-slots-card h3,
.iav-public-next-step h3 {
    margin-top: 0;
}
.iav-public-booking-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}
.iav-public-booking-form select,
.iav-public-booking-form input[type="date"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px;
    background: #fff;
}
.iav-public-participants {
    display: grid;
    gap: 12px;
}
.iav-participant-row {
    display: grid;
    gap: 6px;
}
.iav-public-summary {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    background: #f8f8f8;
}
.iav-public-summary strong,
.iav-public-summary span {
    display: block;
}
.iav-public-summary span {
    font-size: 26px;
    font-weight: 700;
    margin-top: 2px;
}
.iav-public-message {
    min-height: 22px;
    font-weight: 600;
}
.iav-public-message-error {
    color: #842029;
}
.iav-public-message-ok {
    color: #0f5132;
}
.iav-public-slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
}
.iav-public-slot {
    border: 1px solid #ddd;
    border-radius: 999px;
    padding: 10px 12px;
    font-weight: 700;
    cursor: pointer;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 48px;
}
.iav-public-slots-hint {
    margin: -6px 0 14px;
    color: #6b6257;
    font-size: 13px;
}
.iav-public-slot-status {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.iav-public-slot-available {
    border-color: #00364d;
    background: #00364d;
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(0, 54, 77, .18);
}
.iav-public-slot-available:hover,
.iav-public-slot-selected {
    outline: 3px solid rgba(0, 54, 77, .22);
}
.iav-public-slot-unavailable {
    border-color: #a67c3d;
    background: #a67c3d;
    color: #ffffff;
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: #ffffff;
    box-shadow: 0 10px 20px rgba(166, 124, 61, .18);
}
.iav-public-slot-unavailable:hover {
    outline: none;
}
.iav-button-disabled {
    opacity: .55;
    cursor: not-allowed;
}
@media (max-width: 640px) {
    .iav-public-summary {
        align-items: stretch;
    }
    .iav-public-summary .iav-button {
        width: 100%;
        text-align: center;
    }
}

.iav-reservation-detail .iav-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 16px 0;
}
.iav-reservation-detail .iav-detail-grid > div,
.iav-reservation-detail .iav-nested-card {
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(0,0,0,0.12);
    border-radius: 10px;
    padding: 14px;
}
.iav-detail-table {
    margin-top: 10px;
    width: 100%;
}
.iav-detail-actions {
    margin-top: 18px;
}
.iav-danger-button {
    background: #b32d2e !important;
    border-color: #b32d2e !important;
    color: #fff !important;
}
@media (max-width: 900px) {
    .iav-reservation-detail .iav-detail-grid {
        grid-template-columns: 1fr;
    }
}


.iav-status-badge {
    display: inline-flex;
    align-items: center;
    width: max-content;
    border-radius: 999px;
    padding: 3px 9px;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    background: #f0f0f1;
    color: #3c434a;
    white-space: nowrap;
}
.iav-status-confirmed,
.iav-status-completed,
.iav-status-processing {
    background: #d1e7dd;
    color: #0f5132;
}
.iav-status-pending-payment,
.iav-status-hold {
    background: #fff3cd;
    color: #664d03;
}
.iav-status-cancelled,
.iav-status-refunded,
.iav-status-expired,
.iav-status-failed,
.iav-status-conflict {
    background: #f8d7da;
    color: #842029;
}
.iav-card ul .iav-status-badge {
    margin-left: 8px;
    vertical-align: middle;
}

.iav-calendar-action-switch {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}
.iav-manual-block-form input[type="text"],
.iav-manual-block-form input[type="date"],
.iav-manual-block-form select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.iav-inline-delete-form {
    margin-top: 8px;
}
.iav-inline-delete-form .button-link-delete {
    color: #b32d2e;
}

/* v0.2.6 — melhorias visuais do formulário público */
.iav-booking-widget-premium {
    border: 1px solid rgba(166, 124, 61, .22);
    border-radius: 22px;
    padding: clamp(18px, 3vw, 34px);
    background:
        radial-gradient(circle at top left, rgba(166, 124, 61, .10), transparent 34%),
        linear-gradient(180deg, #fffdf8 0%, #fff 42%, #faf8f3 100%);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .07);
}
.iav-public-hero {
    max-width: 780px;
    margin-bottom: 22px;
}
.iav-public-kicker {
    display: inline-block;
    margin-bottom: 10px;
    color: #a67c3d;
    font-size: 12px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 800;
}
.iav-public-hero h2 {
    margin: 0 0 10px;
    font-size: clamp(28px, 4vw, 46px);
    line-height: 1.05;
    letter-spacing: -.035em;
    color: #1d1711;
}
.iav-public-hero p {
    margin: 0;
    color: #6b6257;
    font-size: clamp(15px, 1.8vw, 18px);
    line-height: 1.6;
}
.iav-public-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
    margin: 6px 0 18px;
    list-style: none;
}
.iav-public-step {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    border: 1px solid rgba(166, 124, 61, .18);
    border-radius: 999px;
    padding: 8px 10px;
    background: rgba(255, 255, 255, .76);
    color: #6b6257;
    font-size: 12px;
}
.iav-public-step span,
.iav-card-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 999px;
    background: #1d1711;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    flex: 0 0 auto;
}
.iav-public-step strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.iav-public-step.is-active {
    background: #1d1711;
    color: #fff;
}
.iav-public-step.is-active span {
    background: #a67c3d;
}
.iav-form-card-featured,
.iav-participants-card,
.iav-public-slots-card,
.iav-public-next-step,
.iav-public-summary {
    border-color: rgba(166, 124, 61, .20);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .045);
}
.iav-form-card .iav-card-step,
.iav-public-slots-card .iav-card-step,
.iav-public-next-step .iav-card-step {
    margin-bottom: 10px;
}
.iav-public-hidden-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.iav-public-count-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
    gap: 10px;
    margin: 10px 0;
}
.iav-public-count-button {
    border: 1px solid rgba(166, 124, 61, .30);
    border-radius: 16px;
    background: #fff;
    color: #1d1711;
    cursor: pointer;
    padding: 12px 10px;
    font-size: 22px;
    line-height: 1;
    font-weight: 800;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.iav-public-count-button span {
    display: block;
    margin-top: 5px;
    color: #6b6257;
    font-size: 12px;
    font-weight: 700;
}
.iav-public-count-button:hover,
.iav-public-count-button.is-selected {
    transform: translateY(-1px);
    border-color: #a67c3d;
    background: #1d1711;
    color: #fff;
    box-shadow: 0 12px 24px rgba(0,0,0,.12);
}
.iav-public-count-button:hover span,
.iav-public-count-button.is-selected span {
    color: rgba(255,255,255,.78);
}
.iav-public-experience-row {
    border: 1px solid rgba(166, 124, 61, .16);
    border-radius: 16px;
    padding: 14px;
    background: rgba(255,255,255,.76);
}
.iav-participant-row-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    color: #1d1711;
    font-weight: 800;
}
.iav-public-experience-preview {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 12px;
    border-radius: 14px;
    background: #faf8f3;
    padding: 10px;
}
.iav-public-experience-preview[hidden] {
    display: none;
}
.iav-public-experience-preview img {
    width: 76px;
    height: 76px;
    border-radius: 12px;
    object-fit: cover;
    flex: 0 0 auto;
}
.iav-public-experience-preview strong,
.iav-public-experience-preview span {
    display: block;
}
.iav-public-experience-preview strong {
    color: #1d1711;
}
.iav-public-experience-preview span {
    margin-top: 2px;
    color: #a67c3d;
    font-weight: 800;
}
.iav-public-experience-preview p {
    margin: 5px 0 0;
    color: #6b6257;
    font-size: 13px;
    line-height: 1.4;
}
.iav-public-summary {
    background: #1d1711;
    color: #fff;
}
.iav-public-summary .iav-summary-label {
    display: block;
    color: rgba(255,255,255,.70);
    font-size: 13px;
    font-weight: 700;
}
.iav-public-summary [data-iav-public-total] {
    display: block;
    margin-top: 2px;
    font-size: clamp(26px, 4vw, 36px);
    line-height: 1;
}
.iav-button-premium,
.iav-public-summary .iav-button {
    border-radius: 999px;
    background: #a67c3d;
    color: #fff !important;
    border: 1px solid #a67c3d;
    font-weight: 800;
    padding: 12px 18px;
    box-shadow: 0 10px 20px rgba(166, 124, 61, .22);
}
.iav-button-premium:hover,
.iav-public-summary .iav-button:hover {
    background: #8e672f;
    border-color: #8e672f;
}
.iav-public-slots-hint,
.iav-legend-dot,
.iav-legend-available,
.iav-legend-unavailable {
    display: none;
}
.iav-public-slot {
    border-radius: 18px;
    min-height: 68px;
    transition: transform .18s ease, box-shadow .18s ease, outline-color .18s ease;
}
.iav-public-slot-available:hover,
.iav-public-slot-selected {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(0, 54, 77, .22);
}
.iav-public-slot-status {
    margin-top: 4px;
}

.iav-public-slot:disabled {
    opacity: 1;
}
.iav-public-slot-unavailable:disabled {
    background: #a67c3d;
    border-color: #a67c3d;
    color: #ffffff;
    -webkit-text-fill-color: #ffffff;
}
.iav-public-slot-available span,
.iav-public-slot-available .iav-public-slot-status,
.iav-public-slot-unavailable span,
.iav-public-slot-unavailable .iav-public-slot-status {
    color: inherit;
}

.iav-public-final-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}
.iav-public-final-grid > div,
.iav-public-final-total {
    border: 1px solid rgba(166, 124, 61, .20);
    border-radius: 14px;
    padding: 12px;
    background: #faf8f3;
}
.iav-public-final-grid span,
.iav-public-final-total span {
    display: block;
    color: #6b6257;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.iav-public-final-grid strong,
.iav-public-final-total strong {
    display: block;
    margin-top: 3px;
    color: #1d1711;
    font-size: 17px;
}
.iav-public-final-list {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    display: grid;
    gap: 8px;
}
.iav-public-final-list li {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid rgba(166, 124, 61, .14);
    padding-bottom: 8px;
}
.iav-public-final-list span {
    color: #6b6257;
    font-size: 13px;
}
.iav-public-final-list strong {
    color: #1d1711;
}
.iav-public-final-list em {
    color: #a67c3d;
    font-style: normal;
    font-weight: 800;
}
.iav-public-final-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 8px 0 16px;
}
.iav-public-final-total strong {
    font-size: 26px;
}
@media (max-width: 760px) {
    .iav-public-steps {
        grid-template-columns: 1fr;
    }
    .iav-public-step {
        border-radius: 14px;
    }
    .iav-public-final-grid,
    .iav-public-final-list li {
        grid-template-columns: 1fr;
    }
    .iav-public-experience-preview {
        align-items: flex-start;
    }
    .iav-public-experience-preview img {
        width: 64px;
        height: 64px;
    }
}
.iav-booking-widget .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.iav-payment-request-box {
    margin: 16px 0;
    border-left: 4px solid #b99045;
}
.iav-difference-payment-form input.regular-text {
    width: 100%;
    max-width: 360px;
}
.iav-manual-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.iav-status-difference-pending {
    background: #e7d8ff;
    color: #3b1768;
}

.iav-detail-header-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
.iav-reservation-edit .iav-edit-totals {
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid rgba(185,144,69,.25);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
}
.iav-diff-positive { color: #b99045; font-weight: 700; }
.iav-diff-negative { color: #2271b1; font-weight: 700; }

.iav-diff-zero { color: inherit; font-weight: 600; }

/* v0.2.11 — Histórico de alterações na página protegida */
.iav-history-card {
  margin-top: 18px;
}
.iav-history-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid #d8bf8b;
}
.iav-history-list li {
  position: relative;
  margin: 0 0 14px 0;
  padding: 0 0 0 18px;
}
.iav-history-list li::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d8bf8b;
  box-shadow: 0 0 0 3px #fff;
}
.iav-history-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #666;
  font-size: 12px;
  margin-bottom: 3px;
}
.iav-history-content strong {
  color: #1d2327;
}
.iav-history-content p {
  margin: 4px 0 0;
  color: #444;
}

/* v0.2.12 — Calendário operacional avançado */
.iav-slot-button.iav-slot-reservation {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 999px;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}
.iav-slot-button.iav-slot-reservation:hover,
.iav-slot-button.iav-slot-reservation:focus {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.iav-slot-button.iav-slot-status-confirmed {
    background: #d1e7dd;
    color: #0f5132;
}
.iav-slot-button.iav-slot-status-pending-payment {
    background: #fff3cd;
    color: #664d03;
}
.iav-slot-button.iav-slot-status-difference-pending {
    background: #d8bf8b;
    color: #2f2412;
}
.iav-slot-button.iav-slot-status-conflict,
.iav-slot-button.iav-slot-status-cancelled,
.iav-slot-button.iav-slot-status-refunded,
.iav-slot-button.iav-slot-status-expired {
    background: #f8d7da;
    color: #842029;
}
.iav-slot-cell-reservation {
    border-left: 4px solid #8c8f94 !important;
}
.iav-slot-cell-status-confirmed {
    background: #f6fffa;
    border-left-color: #198754 !important;
}
.iav-slot-cell-status-pending-payment {
    background: #fffaf0;
    border-left-color: #d68a00 !important;
}
.iav-slot-cell-status-difference-pending {
    background: #fff8e8;
    border-left-color: #b99045 !important;
}
.iav-slot-cell-status-conflict {
    background: #fff5f5;
    border-left-color: #b32d2e !important;
}
.iav-slot-cell-block {
    background: #f0f0f1;
    border-left: 4px solid #646970 !important;
}
.iav-slot-reservation-link {
    text-decoration: none;
    color: inherit;
}
.iav-slot-reservation-link:hover {
    text-decoration: underline;
}
.iav-slot-reservation-summary p {
    margin: 0 0 7px;
}
.iav-slot-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px !important;
}
.iav-slot-pending-amount {
    color: #8a5a00;
    font-weight: 700;
}
.iav-calendar-week-table .iav-slot-inline-summary small {
    display: inline-block;
    margin-top: 2px;
}


/* v0.2.15 — UX avançada da página de gestão de reservas */
.iav-management-widget {
    box-sizing: border-box;
}
.iav-management-widget,
.iav-management-widget * {
    box-sizing: border-box;
}
.iav-management-widget .iav-management-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.iav-management-help {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 8px 0 22px;
}
.iav-management-help > div {
    border: 1px solid rgba(166, 124, 61, .18);
    border-radius: 14px;
    padding: 14px 16px;
    background: #fffaf1;
}
.iav-management-help strong,
.iav-management-help span {
    display: block;
}
.iav-management-help strong {
    color: #1d1711;
    font-weight: 800;
    margin-bottom: 4px;
}
.iav-management-help span {
    color: #6b6257;
    font-size: 13px;
    line-height: 1.45;
}
.iav-management-widget .iav-calendar-toolbar {
    align-items: center;
    background: #fbfaf7;
    border: 1px solid rgba(166, 124, 61, .16);
    border-radius: 16px;
    padding: 14px;
}
.iav-management-widget .iav-calendar-actions,
.iav-management-widget .iav-calendar-views {
    gap: 8px;
}
.iav-management-widget .iav-calendar-toolbar .button,
.iav-management-widget .iav-calendar-views .button,
.iav-management-widget .iav-calendar-action-switch .button,
.iav-management-widget .iav-manual-reservation-form .button,
.iav-management-widget .iav-manual-block-form .button {
    min-height: 42px;
    border-radius: 10px;
    padding: 10px 14px;
    font-weight: 700;
}
.iav-management-widget .iav-calendar-toolbar .button-primary,
.iav-management-widget .iav-calendar-views .button-primary,
.iav-management-widget .iav-calendar-action-switch .button-primary,
.iav-management-widget .iav-manual-reservation-form .button-primary,
.iav-management-widget .iav-manual-block-form .button-primary {
    background: #00364d;
    border-color: #00364d;
    color: #fff;
}
.iav-management-widget .iav-calendar-layout-with-form {
    grid-template-columns: minmax(760px, 1fr) minmax(340px, 420px);
    gap: 24px;
    align-items: start;
}
.iav-management-widget .iav-calendar-card {
    border-color: rgba(166, 124, 61, .20);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .06);
}
.iav-management-widget .iav-calendar-scroll {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.iav-management-widget .iav-calendar-week-table {
    min-width: 1040px;
}
.iav-management-widget .iav-calendar-week-table th,
.iav-management-widget .iav-calendar-week-table td {
    min-width: 138px;
}
.iav-management-widget .iav-calendar-week-table th:first-child,
.iav-management-widget .iav-calendar-week-table td:first-child,
.iav-management-widget .iav-calendar-week-table tbody th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    min-width: 128px;
}
.iav-management-widget .iav-calendar-week-table thead th:first-child {
    z-index: 4;
    background: #f6f3ed;
}
.iav-management-widget .iav-calendar-table th {
    background: #f6f3ed;
    color: #2d2721;
}
.iav-management-widget .iav-calendar-table th a {
    color: #008b8b;
    text-decoration: none;
    font-weight: 800;
}
.iav-management-widget .iav-calendar-table td {
    height: 104px;
}
.iav-management-widget .iav-slot-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    min-width: 86px;
    padding: 8px 12px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.15;
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.iav-management-widget .iav-slot-free {
    background: #00364d;
    color: #fff;
    border: 1px solid #00364d;
}
.iav-management-widget .iav-slot-free:hover,
.iav-management-widget .iav-slot-free:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0,54,77,.20);
}
.iav-management-widget .iav-slot-busy,
.iav-management-widget .iav-slot-unavailable {
    background: #a67c3d;
    color: #fff;
    border: 1px solid #a67c3d;
    cursor: default;
}
.iav-management-widget .iav-slot-cell-available {
    background: #eef8f5;
}
.iav-management-widget .iav-slot-cell-busy {
    background: #fbf4e8;
}
.iav-management-widget .iav-slot-cell-status-confirmed {
    background: #eef8f1;
    border-left-color: #198754 !important;
}
.iav-management-widget .iav-slot-cell-status-difference-pending,
.iav-management-widget .iav-slot-cell-status-pending-payment {
    background: #fff6df;
    border-left-color: #b99045 !important;
}
.iav-management-widget .iav-slot-cell-status-conflict {
    background: #fff1f1;
    border-left-color: #b32d2e !important;
}
.iav-management-widget .iav-slot-cell-block {
    background: #f1f2f3;
    border-left-color: #646970 !important;
}
.iav-management-widget .iav-slot-button.iav-slot-status-confirmed {
    background: #198754;
    border-color: #198754;
    color: #fff;
}
.iav-management-widget .iav-slot-button.iav-slot-status-difference-pending {
    background: #a67c3d;
    border-color: #a67c3d;
    color: #fff;
}
.iav-management-widget .iav-slot-button.iav-slot-status-pending-payment {
    background: #d68a00;
    border-color: #d68a00;
    color: #fff;
}
.iav-management-widget .iav-slot-button.iav-slot-status-conflict {
    background: #b32d2e;
    border-color: #b32d2e;
    color: #fff;
}
.iav-management-widget .iav-slot-inline-summary {
    margin-top: 8px;
    color: #3d3934;
}
.iav-management-widget .iav-slot-inline-summary strong,
.iav-management-widget .iav-slot-inline-summary a {
    color: #1d1711;
}
.iav-management-widget .iav-manual-form-panel {
    min-width: 0;
}
.iav-management-widget .iav-manual-card {
    border: 1px solid rgba(166, 124, 61, .20);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .06);
    background: #fff;
}
.iav-management-widget .iav-manual-card h3 {
    font-size: 26px;
    margin-bottom: 8px;
}
.iav-management-widget .iav-manual-card p {
    margin-top: 10px;
    margin-bottom: 12px;
}
.iav-management-widget .iav-manual-reservation-form label,
.iav-management-widget .iav-manual-block-form label {
    font-weight: 800;
    color: #2d2721;
}
.iav-management-widget .iav-manual-reservation-form input,
.iav-management-widget .iav-manual-reservation-form select,
.iav-management-widget .iav-manual-reservation-form textarea,
.iav-management-widget .iav-manual-block-form input,
.iav-management-widget .iav-manual-block-form select,
.iav-management-widget .iav-manual-block-form textarea {
    min-height: 42px;
    border: 1px solid #c9c2b6;
    border-radius: 10px;
    padding: 9px 10px;
    background: #fff;
}
.iav-management-widget .iav-calendar-action-switch {
    background: #fbfaf7;
    border: 1px solid rgba(166, 124, 61, .16);
    border-radius: 14px;
    padding: 10px;
}
.iav-management-widget .iav-manual-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}
.iav-management-widget .iav-manual-actions .button {
    width: 100%;
    text-align: center;
}
@media (min-width: 1181px) {
    .iav-booking-widget.iav-management-widget {
        width: min(1600px, calc(100vw - 48px));
        max-width: none;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: clamp(20px, 2.2vw, 32px);
    }
}
@media (max-width: 1180px) {
    .iav-management-widget .iav-calendar-layout-with-form {
        grid-template-columns: 1fr;
    }
    .iav-management-widget .iav-management-grid,
    .iav-management-help {
        grid-template-columns: 1fr;
    }
    .iav-management-widget .iav-calendar-table td {
        height: auto;
    }
}

/* v0.2.16 — filtros rápidos e selectors de horários protegidos */
.iav-management-widget .iav-recent-filters-form,
.iav-recent-filters-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 12px;
    align-items: end;
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid rgba(185, 143, 54, .22);
    background: rgba(248, 246, 242, .85);
    border-radius: 14px;
}
.iav-management-widget .iav-recent-filters-form label,
.iav-recent-filters-form label {
    font-weight: 700;
}
.iav-management-widget .iav-recent-filters-form input,
.iav-management-widget .iav-recent-filters-form select,
.iav-recent-filters-form input,
.iav-recent-filters-form select {
    width: 100%;
    margin-top: 5px;
}
.iav-management-widget .iav-recent-filters-form .iav-filter-actions,
.iav-recent-filters-form .iav-filter-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.iav-manual-reservation-form select option:disabled,
.iav-manual-block-form select option:disabled {
    color: #7f6d3f;
    background: #f3e4c0;
}
@media (max-width: 900px) {
    .iav-management-widget .iav-recent-filters-form,
    .iav-recent-filters-form {
        grid-template-columns: 1fr;
    }
}

/* v0.2.17 — protecções operacionais */
.iav-operational-alert {
    border-radius: 12px;
    padding: 14px 16px;
    margin: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-left: 5px solid #b7791f;
    background: #fff8e6;
    color: #4a2f00;
}
.iav-operational-alert strong {
    font-size: 14px;
}
.iav-operational-alert span {
    font-size: 13px;
}
.iav-empty-state {
    margin: 0;
    padding: 18px;
    border-radius: 12px;
    background: rgba(255,255,255,.72);
    border: 1px dashed rgba(166,124,61,.45);
    color: inherit;
}
.iav-status-difference-pending,
.iav-summary-warning strong,
.iav-daily-alert,
.iav-slot-pending-amount {
    font-weight: 700;
}

/* v0.2.18 — redesenho da página de gestão por shortcode */
.iav-management-redesign {
    background: #f7f3eb;
    border: 1px solid rgba(166, 124, 61, .16);
}
.iav-management-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 22px;
    padding: clamp(20px, 3vw, 34px);
    border-radius: 24px;
    background: linear-gradient(135deg, #072f3d 0%, #00364d 55%, #0c5867 100%);
    color: #fff;
    margin-bottom: 22px;
    box-shadow: 0 22px 55px rgba(0, 0, 0, .15);
}
.iav-management-hero h2 {
    margin: 4px 0 8px;
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.05;
}
.iav-management-hero p {
    margin: 0;
    max-width: 720px;
    color: rgba(255,255,255,.86);
    font-size: 16px;
}
.iav-management-hero .iav-public-kicker {
    color: #d8bf8b;
}
.iav-management-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}
.iav-management-hero-actions .iav-button {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.24);
    color: #fff;
    box-shadow: none;
}
.iav-management-hero-actions .iav-button:hover,
.iav-management-hero-actions .iav-button:focus {
    background: rgba(255,255,255,.20);
    color: #fff;
}
.iav-management-redesign .iav-management-kpis {
    margin-bottom: 22px;
}
.iav-management-section {
    margin: 24px 0;
    padding: clamp(18px, 2.2vw, 28px);
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(166, 124, 61, .18);
    box-shadow: 0 16px 44px rgba(0,0,0,.055);
}
.iav-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}
.iav-section-heading h3 {
    margin: 0 0 5px;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.1;
    color: #1e1914;
}
.iav-section-heading p {
    margin: 0;
    color: #71675d;
}
.iav-daily-map-actions,
.iav-daily-map-date-form {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: end;
}
.iav-daily-map-date-form {
    margin: 0 0 18px;
    padding: 14px;
    border-radius: 16px;
    background: #fbf8f1;
    border: 1px solid rgba(166,124,61,.16);
}
.iav-daily-map-date-form label {
    font-weight: 800;
    color: #2d2721;
}
.iav-daily-map-date-form input {
    display: block;
    margin-top: 6px;
    min-height: 42px;
    border-radius: 10px;
    border: 1px solid #c9c2b6;
    padding: 8px 10px;
}
.iav-daily-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}
.iav-daily-kpis > div {
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8f5ef;
    border: 1px solid rgba(166,124,61,.14);
}
.iav-daily-kpis span {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #73675b;
    font-weight: 800;
}
.iav-daily-kpis strong {
    display: block;
    margin-top: 3px;
    font-size: 26px;
    color: #00364d;
}
.iav-daily-kpis .iav-daily-kpi-alert {
    background: #fff4d9;
    border-color: rgba(166,124,61,.28);
}
.iav-daily-slot-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.iav-daily-slot-card {
    min-height: 190px;
    border-radius: 20px;
    border: 1px solid rgba(166,124,61,.18);
    padding: 16px;
    background: #fbfaf7;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.iav-daily-slot-time {
    font-weight: 900;
    font-size: 18px;
    color: #1f1a14;
}
.iav-daily-slot-status {
    font-weight: 800;
    color: #00364d;
}
.iav-daily-slot-card h4 {
    margin: 4px 0 0;
    font-size: 19px;
    color: #1f1a14;
}
.iav-daily-slot-card p {
    margin: 0;
    color: #5f554b;
}
.iav-daily-slot-free {
    background: #eef7fb;
    border-color: rgba(0, 54, 77, .18);
}
.iav-daily-slot-reserved {
    background: #f3fbf5;
    border-color: rgba(25, 135, 84, .22);
}
.iav-daily-slot-status-difference-pending,
.iav-daily-slot-status-pending-payment {
    background: #fff8e8;
    border-color: rgba(166,124,61,.36);
}
.iav-daily-slot-status-conflict {
    background: #fff0f0;
    border-color: rgba(179,45,46,.28);
}
.iav-daily-slot-blocked {
    background: #f0f1f2;
    border-color: rgba(100,105,112,.28);
}
.iav-daily-slot-warning {
    color: #8a5a00 !important;
    font-weight: 900;
}
.iav-daily-slot-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}
.iav-daily-slot-action {
    margin-top: auto;
    width: 100%;
    justify-content: center;
}
.iav-management-redesign .iav-calendar-layout-with-form {
    display: block;
}
.iav-management-redesign .iav-calendar-main {
    width: 100%;
}
.iav-management-redesign .iav-manual-form-panel {
    display: none;
    margin-top: 18px;
    padding: 18px;
    border-radius: 22px;
    background: #ffffff;
    border: 2px solid rgba(0,54,77,.16);
    box-shadow: 0 18px 50px rgba(0,0,0,.09);
}
.iav-management-redesign .iav-manual-form-panel.iav-panel-open {
    display: block;
}
.iav-panel-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(166,124,61,.16);
}
.iav-panel-header strong,
.iav-panel-header span {
    display: block;
}
.iav-panel-header strong {
    font-size: 19px;
    color: #1f1a14;
}
.iav-panel-header span {
    color: #71675d;
    margin-top: 2px;
}
.iav-panel-close {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: #f3eee5;
    color: #2d2721;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.iav-panel-close:hover,
.iav-panel-close:focus {
    background: #00364d;
    color: #fff;
}
.iav-management-redesign .iav-calendar-card {
    box-shadow: none;
}
.iav-management-redesign .iav-calendar-week-table {
    min-width: 1180px;
}
.iav-management-redesign .iav-calendar-week-table th,
.iav-management-redesign .iav-calendar-week-table td {
    min-width: 150px;
}
.iav-management-redesign .iav-recent-filters-form {
    margin-top: 0;
}
@media (max-width: 1180px) {
    .iav-management-hero,
    .iav-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    .iav-management-hero-actions,
    .iav-daily-map-actions {
        justify-content: flex-start;
    }
    .iav-daily-kpis,
    .iav-daily-slot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .iav-daily-kpis,
    .iav-daily-slot-grid {
        grid-template-columns: 1fr;
    }
    .iav-management-section {
        padding: 16px;
        border-radius: 18px;
    }
    .iav-management-hero {
        border-radius: 18px;
    }
}
@media print {
    .iav-management-hero,
    .iav-management-kpis,
    .iav-management-section-calendar,
    .iav-management-section-recent,
    .iav-management-note,
    .iav-daily-map-date-form,
    .iav-daily-map-actions,
    .iav-daily-slot-action,
    .iav-daily-slot-links {
        display: none !important;
    }
    .iav-management-section {
        box-shadow: none !important;
        border: 0 !important;
        padding: 0 !important;
    }
    .iav-daily-slot-grid {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* v0.2.20 — UX comercial do formulário público */
.iav-public-flow {
    display: grid;
    gap: 18px;
}
.iav-public-section {
    position: relative;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.iav-public-section.is-active-section {
    border-color: rgba(166, 124, 61, .38);
    box-shadow: 0 16px 36px rgba(166, 124, 61, .11);
}
.iav-section-heading {
    margin-bottom: 14px;
}
.iav-section-heading h3 {
    margin-bottom: 6px;
}
.iav-section-heading p {
    margin: 0;
    color: #6b6257;
    line-height: 1.55;
}
.iav-public-step.is-done {
    background: rgba(166, 124, 61, .13);
    border-color: rgba(166, 124, 61, .35);
    color: #1d1711;
}
.iav-public-step.is-done span {
    background: #a67c3d;
}
.iav-public-step.is-done span::after {
    content: "✓";
    font-size: 13px;
}
.iav-public-step.is-done span {
    font-size: 0;
}
.iav-public-experience-preview-content {
    min-width: 0;
}
.iav-public-more-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    border: 1px solid rgba(166, 124, 61, .40);
    color: #8e672f;
    background: #fff;
    text-decoration: none;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .02em;
}
.iav-public-more-link:hover,
.iav-public-more-link:focus {
    background: #a67c3d;
    color: #fff;
    border-color: #a67c3d;
    text-decoration: none;
}
.iav-public-slots-card {
    scroll-margin-top: 24px;
}
.iav-public-next-step {
    scroll-margin-top: 24px;
}
.iav-public-booking-form .iav-public-summary {
    margin-top: 14px;
}
.iav-public-booking-form .iav-form-card select:focus,
.iav-public-booking-form .iav-form-card input[type="date"]:focus {
    border-color: #a67c3d;
    box-shadow: 0 0 0 3px rgba(166, 124, 61, .16);
    outline: none;
}
@media (min-width: 900px) {
    .iav-public-flow {
        max-width: 980px;
    }
}
@media (max-width: 760px) {
    .iav-public-more-link {
        width: max-content;
    }
    .iav-public-section.is-active-section {
        transform: none;
    }
}

/* v0.2.21 — Modal de descrição completa da experiência e padrão de botões */
.iav-button,
.iav-button:visited,
.iav-button-premium,
.iav-button-premium:visited,
.iav-public-summary .iav-button,
.iav-public-summary .iav-button:visited,
.iav-public-more-link,
.iav-public-more-link:visited,
.iav-public-slot,
.iav-public-slot span,
.iav-public-slot .iav-public-slot-status {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
}
.iav-button:hover,
.iav-button:focus,
.iav-button-premium:hover,
.iav-button-premium:focus,
.iav-public-summary .iav-button:hover,
.iav-public-summary .iav-button:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    text-decoration: none;
}
.iav-public-more-link {
    appearance: none;
    border: 1px solid #a67c3d;
    background: #a67c3d;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    cursor: pointer;
    font-family: inherit;
}
.iav-public-more-link:hover,
.iav-public-more-link:focus {
    background: #1d1711;
    border-color: #1d1711;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    outline: none;
    box-shadow: 0 8px 18px rgba(29, 23, 17, .18);
}
.iav-public-count-button:hover,
.iav-public-count-button:focus,
.iav-public-count-button.is-selected {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
}
.iav-public-count-button:hover span,
.iav-public-count-button:focus span,
.iav-public-count-button.is-selected span {
    color: rgba(255,255,255,.82) !important;
    -webkit-text-fill-color: rgba(255,255,255,.82);
}
.iav-public-slot-available:hover {
    background: #064b66;
    border-color: #064b66;
    color: #ffffff !important;
}
.iav-public-slot-selected,
.iav-public-slot-selected:hover,
.iav-public-slot-selected:focus {
    background: #00364d;
    border-color: #a67c3d;
    color: #ffffff !important;
    outline: 3px solid rgba(166, 124, 61, .36);
    box-shadow: 0 14px 30px rgba(0, 54, 77, .26);
}
.iav-modal-open {
    overflow: hidden;
}
.iav-public-experience-modal[hidden] {
    display: none !important;
}
.iav-public-experience-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.iav-public-experience-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 8, 6, .68);
    backdrop-filter: blur(4px);
}
.iav-public-experience-modal-panel {
    position: relative;
    z-index: 1;
    width: min(920px, calc(100vw - 32px));
    max-height: min(86vh, 820px);
    overflow: auto;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 34px 90px rgba(0, 0, 0, .35);
    border: 1px solid rgba(166, 124, 61, .18);
}
.iav-public-experience-modal-close {
    position: sticky;
    top: 14px;
    float: right;
    z-index: 2;
    margin: 14px 14px 0 0;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 999px;
    background: #1d1711;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    box-shadow: 0 10px 22px rgba(0,0,0,.18);
}
.iav-public-experience-modal-close:hover,
.iav-public-experience-modal-close:focus {
    background: #a67c3d;
    color: #ffffff !important;
    outline: none;
}
.iav-public-experience-modal-media img {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    border-radius: 24px 24px 0 0;
}
.iav-public-experience-modal-body {
    padding: clamp(22px, 4vw, 42px);
    color: #1d1711;
}
.iav-public-experience-modal-body h3 {
    margin: 6px 0 8px;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.05;
    color: #1d1711;
}
.iav-public-experience-modal-price {
    display: inline-flex;
    margin: 0 0 20px;
    padding: 8px 13px;
    border-radius: 999px;
    background: #faf8f3;
    color: #a67c3d;
    font-weight: 900;
}
.iav-public-experience-modal-content {
    color: #4b4036;
    font-size: 16px;
    line-height: 1.75;
}
.iav-public-experience-modal-content p,
.iav-public-experience-modal-content ul,
.iav-public-experience-modal-content ol {
    margin: 0 0 1em;
}
.iav-public-experience-modal-content h2,
.iav-public-experience-modal-content h3,
.iav-public-experience-modal-content h4 {
    margin: 1.15em 0 .45em;
    color: #1d1711;
    line-height: 1.2;
}
@media (max-width: 760px) {
    .iav-public-experience-modal {
        padding: 0;
        align-items: stretch;
    }
    .iav-public-experience-modal-panel {
        width: 100vw;
        max-height: 100vh;
        min-height: 100vh;
        border-radius: 0;
    }
    .iav-public-experience-modal-media img {
        border-radius: 0;
        max-height: 280px;
    }
    .iav-public-experience-modal-close {
        position: fixed;
        right: 12px;
        top: 12px;
        margin: 0;
    }
}

/* v0.2.22 — Ver mais inline no mobile e voltar ao passo anterior */
.iav-public-back-link {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: -4px 0 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8e672f;
    -webkit-text-fill-color: #8e672f;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
}
.iav-public-back-link:hover,
.iav-public-back-link:focus {
    color: #1d1711;
    -webkit-text-fill-color: #1d1711;
    text-decoration: underline;
    outline: none;
}
.iav-public-inline-details {
    margin-top: 12px;
    border: 1px solid rgba(166, 124, 61, .18);
    border-radius: 16px;
    background: #ffffff;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(0,0,0,.06);
}
.iav-public-inline-details[hidden] {
    display: none !important;
}
.iav-public-inline-details > p {
    margin: 0;
    padding: 14px;
    color: #6b6257;
}
.iav-public-inline-details-media img {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: cover;
}
.iav-public-inline-details-body {
    padding: 16px;
}
.iav-public-inline-details-body > strong {
    display: block;
    color: #1d1711;
    font-size: 18px;
    line-height: 1.2;
}
.iav-public-inline-details-body > span {
    display: inline-flex;
    margin: 8px 0 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #faf8f3;
    color: #a67c3d;
    -webkit-text-fill-color: #a67c3d;
    font-weight: 900;
}
.iav-public-inline-details-content {
    color: #4b4036;
    font-size: 15px;
    line-height: 1.68;
}
.iav-public-inline-details-content p,
.iav-public-inline-details-content ul,
.iav-public-inline-details-content ol {
    margin: 0 0 1em;
}
.iav-public-inline-details-content h2,
.iav-public-inline-details-content h3,
.iav-public-inline-details-content h4 {
    margin: 1.1em 0 .45em;
    color: #1d1711;
    line-height: 1.2;
}
@media (max-width: 760px) {
    .iav-public-back-link {
        margin-bottom: 14px;
        font-size: 14px;
    }
    .iav-public-experience-preview {
        align-items: flex-start;
    }
    .iav-public-experience-preview-content {
        width: 100%;
    }
    .iav-public-more-link[aria-expanded="true"] {
        background: #1d1711;
        border-color: #1d1711;
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff;
    }
}


/* v0.2.23 — Ajuste fino do Ver mais no mobile e navegação anterior */
.iav-public-back-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 16px;
}
.iav-public-back-row .iav-public-back-link {
    appearance: none;
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8e672f;
    -webkit-text-fill-color: #8e672f;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
    text-decoration: none;
    box-shadow: none;
}
.iav-public-back-row .iav-public-back-link:hover,
.iav-public-back-row .iav-public-back-link:focus {
    color: #1d1711;
    -webkit-text-fill-color: #1d1711;
    text-decoration: underline;
    outline: none;
    background: transparent;
}
@media (max-width: 760px) {
    .iav-public-more-link,
    .iav-public-inline-details {
        display: none !important;
    }
    .iav-public-back-row {
        margin-top: 14px;
    }
    .iav-public-back-row .iav-public-back-link {
        font-size: 13px;
    }
}


/* v0.2.24 — Correcção do link Voltar ao passo anterior no mobile */
.iav-public-back-row .iav-public-back-link {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    touch-action: manipulation;
}
.iav-public-back-row .iav-public-back-link:active {
    color: #1d1711;
    -webkit-text-fill-color: #1d1711;
}
@media (max-width: 760px) {
    .iav-public-back-row {
        justify-content: flex-end;
        padding-top: 2px;
    }
    .iav-public-back-row .iav-public-back-link {
        min-height: 40px;
        padding: 4px 0 4px 14px;
    }
}
