/* Trainings widget ([flavor_trainings]) - builds on booking.css, square black/white look of the site */
.fb-trainings{max-width:820px}
.fb-trainings [x-cloak]{display:none!important}

/* Card */
.fb-tr-card{background:#fff;border:1px solid #e5e5e5;padding:32px 36px;margin:0 0 28px}
.fb-tr-head{margin-bottom:18px}
.fb-tr-head:after{content:"";display:block;width:50px;height:1px;background:#000;margin-top:16px}
.fb-tr-name{font-size:24px;font-weight:500;color:#111;margin:0 0 6px;line-height:1.3}
.fb-tr-meta{font-size:13px;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.06em}
.fb-tr-desc,.fb-tr-details{font-size:15px;color:#444;line-height:1.65;margin-bottom:12px}
.fb-tr-desc p{margin:0 0 10px}

/* Details toggle + content */
.fb-tr-more{background:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:0 0 16px;font-size:14px;font-weight:600;color:#000!important;cursor:pointer;height:auto!important;box-shadow:none!important}
.fb-tr-more:hover{text-decoration:underline}
.fb-tr-more-i{display:inline-block;margin-left:4px;transition:transform .15s}
.fb-tr-more-o{transform:rotate(90deg)}
.fb-tr-details{font-size:14px;border-left:1px solid #000;padding:2px 0 2px 20px;margin-bottom:22px}
.fb-tr-details h4{font-size:14px;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.04em;margin:18px 0 6px}
.fb-tr-details h4:first-child{margin-top:0}
.fb-tr-details p{margin:0 0 8px}
.fb-tr-details ul{margin:0 0 8px;padding-left:18px}
.fb-tr-details li{margin:0 0 4px}
.fb-tr-details li::marker{color:#000}

/* Price rows, like the price list */
.fb-tr-price{margin:4px 0 24px;font-size:15px;color:#333}
.fb-tr-row{display:flex;align-items:baseline;gap:10px;padding:3px 0}
.fb-tr-row > span:first-child{text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.fb-tr-row i{flex:1;border-bottom:1px solid #ddd;transform:translateY(-4px)}
.fb-tr-row strong{font-weight:700;color:#000}

/* Dates */
.fb-tr-dates-title{font-size:13px;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.06em;margin:6px 0 10px}
.fb-tr-nodate{font-size:14px;color:#666;background:#f6f6f6;padding:14px 16px}
.fb-tr-nodate a{color:#000;font-weight:600;margin-left:4px;white-space:nowrap}
.fb-tr-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.fb-tr-date{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;background:#fff;border:1px solid #ddd;border-radius:0!important;cursor:pointer;line-height:1.35!important;height:auto!important;transition:border-color .15s,background .15s,color .15s}
.fb-tr-date:hover:not(:disabled){border-color:#000}
.fb-tr-date:disabled{cursor:not-allowed;opacity:.5}
.fb-tr-date-s{border-color:#000!important;background:#000!important}
.fb-tr-date-s .fb-tr-date-d,.fb-tr-date-s .fb-tr-date-t,.fb-tr-date-s .fb-tr-date-seats{color:#fff!important}
.fb-tr-date-d{font-size:14px;font-weight:700;color:#111}
.fb-tr-date-t{font-size:13px;color:#666}
.fb-tr-date-seats{font-size:12px;font-weight:600;color:#3a7d44}
.fb-tr-date-full .fb-tr-date-seats{color:#b42318}

/* Flexible trainings: month calendar of free days + start times (booking.css calendar, squared) */
.fb-tr-cal{max-width:420px}
.fb-tr-cal .fb-cal{border:1px solid #e5e5e5;border-radius:0;padding:16px;margin-bottom:10px}
.fb-tr-cal .fb-cal-n{border-radius:0!important;border-color:#ddd;color:#111;padding:0!important;height:34px!important;line-height:1!important}
.fb-tr-cal .fb-cal-n:disabled{opacity:.3;cursor:default}
.fb-tr-cal .fb-cal-m{font-weight:600}
.fb-tr-cal .fb-cal-w span{text-transform:capitalize}
.fb-tr-cal .fb-cal-d{border-radius:0!important;padding:0!important;height:auto!important;color:#111}
.fb-tr-cal .fb-cal-a{background:#f2f2f2;color:#000;font-weight:600}
.fb-tr-cal .fb-cal-a:hover{background:#000;color:#fff}
.fb-tr-cal .fb-cal-u{color:#ccc;background:transparent}
.fb-tr-cal .fb-cal-s{background:#000!important;color:#fff!important}
.fb-tr-hint{font-size:13px;color:#777}
.fb-tr-times-title{margin-top:16px}
.fb-tr-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.fb-tr-time{padding:10px 12px;background:#fff;border:1px solid #ddd;border-radius:0!important;font-size:14px;font-weight:600;color:#111;cursor:pointer;height:auto!important;line-height:1.35!important}
.fb-tr-time:hover{border-color:#000}
.fb-tr-time.fb-tr-date-s{color:#fff}

/* Registration form: square inputs, boxes and buttons */
.fb-tr-form{margin-top:20px}
.fb-trainings .fb-box,.fb-trainings .fb-sum,.fb-trainings .fb-err,.fb-trainings .fb-card,.fb-trainings .fb-btn{border-radius:0!important;box-shadow:none!important}
.fb-trainings .fb-fi input,.fb-trainings .fb-fi textarea{border-radius:0!important}
.fb-trainings .fb-pol{background:#f6f6f6;border-left:1px solid #000;border-radius:0;color:#666}
.fb-trainings .fb-submit{background:#000}
.fb-trainings .fb-chk{background:#000}
.fb-tr-note{font-size:13px;color:#777}
.fb-tr-sub{font-size:14px;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;padding-top:14px;border-top:1px solid #eee}
.fb-tr-full{margin-bottom:12px}
.fb-tr-addr{grid-template-columns:1fr 2fr}
.fb-trainings .fb-fi textarea{width:100%;padding:10px 14px;border:1px solid #ddd;font-size:15px;font-family:inherit;line-height:1.4;background:#fff;resize:vertical}
.fb-trainings .fb-fi input:focus,.fb-trainings .fb-fi textarea:focus{outline:none;border-color:#000!important;box-shadow:none!important}
.fb-trainings .fb-rad{align-items:flex-start}
.fb-trainings .fb-rad input[type=checkbox]{accent-color:#000;margin-top:3px;flex-shrink:0}
.fb-tr-terms a{color:#000;text-decoration:underline}
.fb-tr-or{text-align:center;color:#999;font-size:13px;margin-bottom:12px;position:relative}
.fb-tr-or span{background:#fff;padding:0 12px;position:relative;z-index:1}
.fb-tr-or:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e5e5e5}

@media(max-width:520px){
  .fb-tr-card{padding:22px 18px}
  .fb-tr-name{font-size:21px}
  .fb-tr-addr{grid-template-columns:1fr}
  .fb-tr-dates{grid-template-columns:1fr}
}
