/* Sowetoo Tours: light touch only. Fields, buttons and fonts follow the Divi theme.
   To restyle the form, add CSS in Divi, Theme Options, Custom CSS, using these classes:
   .swt-fields (whole form), .swt-f (one field), .swt-f label, .swt-f input / select / textarea,
   .swt-f small (help text), .swt-field-msg (message under a field), .swt-invalid (field with a problem),
   .swt-line (price line), .swt-total (Total row), .swt-note (booking note), .swt-sent (enquiry sent),
   .swt-enquiry-btn (Send an enquiry button), .swt-facts / .swt-fact (fact boxes). */
:root{--swt-primary:#e02b20;--swt-line:#e2e2e2;--swt-muted:#666;--swt-soft:#f4f4f4}

.swt-fields{margin:0 0 18px;clear:both}
.swt-f{margin:0 0 16px;padding:0}
.swt-f label{display:block;font-weight:600;margin-bottom:6px}
.swt-f label abbr.required{color:var(--swt-primary);text-decoration:none;border:0}
.swt-optional{font-weight:400;color:var(--swt-muted)}
.swt-f input,.swt-f select,.swt-f textarea{width:100%;max-width:100%;box-sizing:border-box}
.swt-f input[type=date]{cursor:pointer}
.swt-f small{display:block;font-size:.85em;color:var(--swt-muted);margin-top:4px;line-height:1.5}
.swt-two,.swt-three{display:grid;gap:0 16px}
.swt-two{grid-template-columns:1fr 1fr}
.swt-three{grid-template-columns:repeat(3,1fr)}
@media (max-width:560px){.swt-two,.swt-three{grid-template-columns:1fr}}
.swt-line{font-size:.9em;color:var(--swt-muted);text-align:right;margin:-6px 0 10px}
.swt-line:empty{display:none}
.swt-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--swt-line);padding-top:12px;font-size:1.25em;font-weight:700}
.swt-msg,.swt-error{color:var(--swt-primary);font-weight:600;margin:0 0 12px;padding:0}
.swt-field-msg{display:block;color:var(--swt-primary);font-weight:600;font-size:.9em;margin-top:4px;line-height:1.4}
.swt-field-msg:empty{display:none}
.swt-invalid input,.swt-invalid select,.swt-invalid textarea{border-color:var(--swt-primary)!important}
.swt-msg:empty,.swt-error:empty{display:none}
.swt-note{background:var(--swt-soft);border-left:3px solid var(--swt-primary);padding:12px 16px;margin:0 0 18px}
.swt-note p{margin:0 0 6px;padding:0}.swt-note p:last-child{margin:0}
.swt-sent{background:#e7f4ea;color:#1d5a2e;padding:14px 16px;font-weight:600;margin:0 0 18px}
#swt-enquiry{scroll-margin-top:120px}
.swt-tour-form .quantity,form.cart:has(.swt-fields) .quantity{display:none!important}
.swt-lists{margin-top:1.6em}
.swt-lists h3{margin-top:1.2em;padding-bottom:6px}
.swt-lists h3:first-child{margin-top:0}
.swt-lists ul{margin-bottom:.5em}
.swt-price small{font-size:.6em;font-weight:400;opacity:.75}

/* [sowetoo_tour_facts] */
.swt-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 24px}
@media (max-width:980px){.swt-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.swt-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.swt-fact{background:var(--swt-soft);border-radius:6px;padding:12px 14px;line-height:1.45}
.swt-fact span{display:block;font-size:.85em;color:var(--swt-muted);margin-bottom:2px}
.swt-fact strong{display:block;font-weight:700}

.swt-fields :focus-visible{outline:2px solid var(--swt-primary);outline-offset:2px}
