.attachment-field { padding: 20px; border: 1px dashed #a6b3b9; background: #fff; }
.attachment-field input { border: 0; padding: 10px 0; max-width: 100%; font-size: 14px; }
.attachment-field input::file-selector-button { border: 1px solid #ccd4d7; background: #f4f7f7; color: #24333c; padding: 10px 12px; margin-right: 12px; cursor: pointer; }
#attachment-list { list-style: none; padding: 0; margin: 0; overflow-wrap: anywhere; font-size: 13px; }
#attachment-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 4px 0; border-bottom: 1px solid #e6ebec; }
#attachment-list .attachment-total { border-bottom: 0; color: #64727a; padding-top: 8px; }
.attachment-remove { flex: none; width: 32px; height: 32px; border: 1px solid #ccd4d7; border-radius: 3px; background: #f4f7f7; color: #24333c; font-size: 18px; line-height: 1; }
.attachment-remove:hover { border-color: #ad482d; color: #ad482d; }
.attachment-error { color: #a0442d !important; }
.attachment-error:empty { display: none; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-form button:disabled { opacity: .6; cursor: wait; }
.form-status { overflow-wrap: anywhere; }
.booking-section { border-top: 1px solid #dce2e4; }
.booking-shell { display: grid; grid-template-columns: 280px minmax(0,1fr); border: 1px solid #dce2e4; margin-top: 32px; background: #fff; }
.booking-intro { padding: 32px; border-right: 1px solid #dce2e4; background: #edf2f3; }
.booking-intro h3 { margin: 20px 0; }
.booking-intro p, .booking-content p { color: #64727a; line-height: 1.7; }
.booking-intro > span:last-child { font-size: 12px; }
.booking-symbol { font-size: 36px; color: #ad482d; }
.booking-content { min-width: 0; padding: 32px; }
.booking-content iframe { display: block; border: 0; width: 100%; min-height: 740px; background: #fff; }
#booking-frame > a { display: inline-block; margin-top: 16px; text-decoration: underline; }
.booking-note { margin-top: 18px; font-size: 13px; }
.booking-note a { text-decoration: underline; text-underline-offset: 3px; }
[hidden] { display: none !important; }
@media(max-width: 820px) { .booking-shell { grid-template-columns: 1fr; } .booking-intro { border-right: 0; border-bottom: 1px solid #dce2e4; } .booking-content { padding: 20px; } }

.sliven-contact { margin:24px 0; padding:22px 24px; border:1px solid var(--line); border-left:3px solid #ad482d; background:#fff; color:#293237; }
.sliven-contact h3 { font-size:22px; line-height:1.35; margin:0 0 14px; color:#293237; }
.sliven-contact address { display:flex; flex-direction:column; gap:10px; font-style:normal; font-size:16px; line-height:1.5; }
.sliven-contact a { color:#994329; overflow-wrap:anywhere; }
.sliven-contact a:hover { text-decoration:underline; }
@media(max-width:560px) { .sliven-contact { padding:18px; } }
