/* Datei: assets/css/frontend.css */

/* =========================================================
   Archiv & Kategorien
   ========================================================= */

.bp-archive{width:100%;max-width:none;margin:50px 0;padding:0;box-sizing:border-box;color:#243746;}
.bp-archive .container{width:100%;max-width:none;box-sizing:border-box;}
.bp-archive-header{margin:0 0 40px;}
.bp-archive-header h1{margin:0 0 12px;color:#243746;font-size:36px;line-height:1.2;font-weight:700;}
.bp-archive-description{margin:0;color:#66727c;font-size:16px;line-height:1.7;}
.bp-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;}
.bp-category-card{display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid #dfe5e8;border-radius:14px;background:#fff;color:#243746;text-decoration:none;box-shadow:0 8px 25px rgba(36,55,70,.05);overflow:hidden;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.bp-category-card:hover{border-color:#cbd7da;color:#243746;text-decoration:none;transform:translateY(-3px);box-shadow:0 14px 32px rgba(36,55,70,.09);}
.bp-category-card-image{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f3f5f6;flex-shrink:0;}
.bp-category-card-image img{display:block;width:100%;height:100%;object-fit:cover;}
.bp-category-card-content{display:flex;flex-direction:column;flex:1;width:100%;min-height:220px;}
.bp-category-card-main{flex:1;padding:28px;}
.bp-category-card-main h2{margin:0 0 12px;color:#243746;font-size:22px;line-height:1.3;font-weight:700;}
.bp-category-card-main p{margin:0;color:#66727c;font-size:14px;line-height:1.7;}
.bp-category-card-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding:17px 28px;border-top:1px solid #e1e6e8;background:#f8fafb;color:#66727c;font-size:13px;line-height:1.4;}
.bp-category-card-footer strong{color:#4d858d;font-size:21px;line-height:1;transition:transform .2s ease;}
.bp-category-card:hover .bp-category-card-footer strong{transform:translateX(4px);}
.bp-month-list{display:flex;flex-direction:column;gap:42px;width:100%;}
.bp-month-group{width:100%;}
.bp-month-heading{margin:0 0 16px;padding:0 0 12px;border-bottom:2px solid #4d858d;color:#243746;font-size:24px;line-height:1.3;font-weight:700;}
.bp-month-courses{display:flex;flex-direction:column;width:100%;gap:10px;}
.bp-course-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;padding:0;border:1px solid #dfe5e8;border-radius:12px;background:#fff;color:#243746;text-decoration:none;overflow:hidden;box-sizing:border-box;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.bp-course-row:hover{border-color:#cbd7da;color:#243746;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 22px rgba(36,55,70,.08);}
.bp-course-date{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;min-height:92px;padding:15px 10px;background:#f8fafb;border-right:1px solid #dfe5e8;text-align:center;box-sizing:border-box;}
.bp-course-date span{color:#4d858d;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;}
.bp-course-date strong{margin:2px 0;color:#243746;font-size:28px;line-height:1;font-weight:700;}
.bp-course-date small{color:#7b878d;font-size:11px;font-weight:600;text-transform:uppercase;}
.bp-course-row-main{min-width:0;padding:20px 24px;}
.bp-course-row-main h3{margin:0 0 8px;color:#243746;font-size:18px;line-height:1.35;font-weight:700;}
.bp-course-row-meta{display:flex;flex-wrap:wrap;gap:8px 20px;color:#66727c;font-size:13px;line-height:1.5;}
.bp-course-row-meta span{display:inline-flex;align-items:center;}
.bp-course-row-footer{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:190px;padding:20px 24px;color:#66727c;font-size:13px;line-height:1.4;text-align:right;}
.bp-course-row-footer strong{color:#4d858d;font-size:22px;line-height:1;transition:transform .2s ease;}
.bp-course-row:hover .bp-course-row-footer strong{transform:translateX(4px);}
.bp-archive-empty{width:100%;padding:35px;border:1px solid #dfe5e8;border-radius:14px;background:#f8fafb;color:#66727c;text-align:center;box-sizing:border-box;}
.bp-archive-empty h2{margin:0 0 10px;color:#243746;font-size:22px;line-height:1.3;}
.bp-archive-empty p{margin:0;line-height:1.7;}

/* =========================================================
   Einzelveranstaltung
   ========================================================= */

.bp-course{width:100%;max-width:none;margin:50px 0;padding:0;box-sizing:border-box;color:#243746;}
.bp-course-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin-bottom:35px;border:1px solid #dfe5e8;border-radius:14px;overflow:hidden;background:#dfe5e8;box-sizing:border-box;}
.bp-course-meta{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:20px 24px;background:#f3f6f7;box-sizing:border-box;}
.bp-course-meta-label{display:flex;color:#7b878d;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;}
.bp-course-meta strong{color:#243746;font-size:16px;line-height:1.5;}
.bp-course-info .bp-course-price{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;margin:0;padding:22px 24px;border-top:1px solid #dfe5e8;background:#f3f6f7;box-sizing:border-box;}
.bp-course-price strong{color:#243746;font-size:21px;line-height:1.4;}
.bp-course-price-tax{font-size:16px;font-weight:400;}

/* =========================================================
   Buchungsbox
   ========================================================= */

.bp-booking-box{display:block;width:100%;max-width:none;padding:40px;border:1px solid #dfe5e8;border-radius:14px;background:#fff;box-shadow:0 8px 30px rgba(36,55,70,.06);box-sizing:border-box;}
.bp-booking-box>h2{margin:0 0 30px;color:#243746;font-size:28px;line-height:1.25;font-weight:700;}
.bp-booking-form{width:100%;max-width:none;}
.bp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;}
.bp-form-field{min-width:0;}
.bp-form-field label{display:block;margin:0 0 8px;color:#243746;font-size:14px;font-weight:600;}
.bp-form-field input,.bp-form-field select,.bp-form-field textarea{display:block;width:100%;min-height:48px;margin:0;padding:11px 14px;border:1px solid #d5dde1;border-radius:8px;background:#fff;color:#243746;font-family:inherit;font-size:15px;line-height:1.4;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease;}
.bp-form-field textarea{min-height:120px;resize:vertical;}
.bp-form-field input:focus,.bp-form-field select:focus,.bp-form-field textarea:focus{outline:none;border-color:#4d858d;box-shadow:0 0 0 3px rgba(77,133,141,.1);}
.bp-form-field input:hover,.bp-form-field select:hover,.bp-form-field textarea:hover{border-color:#bdcdd1;}
.bp-form-field input::placeholder,.bp-form-field textarea::placeholder{color:#929da3;opacity:1;}
.bp-form-field-full{grid-column:1/-1;width:100%;margin-top:20px;}
.bp-form-field-full textarea{min-height:120px;padding:14px 16px;border-color:#d5dde1;border-radius:8px;background:#fff;color:#243746;font-family:inherit;font-size:15px;line-height:1.6;box-sizing:border-box;}
.bp-form-field-full textarea:focus{outline:none;border-color:#4d858d;box-shadow:0 0 0 3px rgba(77,133,141,.1);}
.bp-form-field-full textarea::placeholder{color:#929da3;opacity:1;}
.bp-company-field{
	grid-column:1;
	width:100%;
}

.bp-company-field input{
	width:100%;
	box-sizing:border-box;
}

/* =========================================================
   Zusatzoptionen
   ========================================================= */

.bp-course-options{width:100%;margin-top:30px;padding:28px;border:1px solid #dfe5e8;border-radius:12px;background:#edf1f2;box-sizing:border-box;}
.bp-course-options-header{margin:0 0 20px;padding:0 0 17px;border-bottom:1px solid #dfe5e8;}
.bp-course-options-header h3{margin:0 0 6px;color:#243746;font-size:19px;line-height:1.3;}
.bp-course-options-header p{margin:0;color:#66727c;font-size:14px;line-height:1.6;}
.bp-course-options-list{display:flex;flex-direction:column;gap:10px;width:100%;}
.bp-course-option{display:flex;align-items:center;gap:13px;width:100%;margin:0;padding:15px 17px;border:1px solid #dfe5e8;border-radius:9px;background:#fff;color:#243746;box-sizing:border-box;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;}
.bp-course-option:hover{border-color:#4d858d;background:#fff;box-shadow:0 5px 16px rgba(36,55,70,.06);}
.bp-course-option input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:#4d858d;}
.bp-course-option-content{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-width:0;}
.bp-course-option-name{color:#243746;font-size:15px;font-weight:600;line-height:1.4;}
.bp-course-option-price{flex:0 0 auto;color:#4d858d;font-size:14px;font-weight:600;line-height:1.4;}

/* =========================================================
   Teilnehmer
   ========================================================= */

.bp-participant-fields{width:100%;margin-top:36px;padding:28px;border:1px solid #dfe5e8;border-radius:12px;background:#fff3e8;box-sizing:border-box;}
.bp-participant-fields-header{margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid #dfe5e8;}
.bp-participant-fields-header h3{margin:0 0 6px;color:#243746;font-size:19px;line-height:1.3;}
.bp-participant-fields-header p{margin:0;color:#66727c;font-size:14px;line-height:1.6;}
.bp-participant-list{display:flex;flex-direction:column;gap:16px;width:100%;}
.bp-participant-field{width:100%;padding:20px;border:1px solid #e1e6e9;border-radius:10px;background:#fff;box-sizing:border-box;}
.bp-participant-title{margin:0 0 16px;color:#243746;font-weight:600;}
.bp-participant-name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;}

/* =========================================================
   Gutschein
   ========================================================= */

.bp-coupon-box{width:100%;margin-top:30px;padding:28px;border:1px solid #dfe5e8;border-radius:12px;background:#edf1f2;box-sizing:border-box;}
.bp-coupon-box .bp-course-options-header{margin-bottom:20px;}
.bp-coupon-field{display:flex;align-items:center;gap:12px;}
.bp-coupon-field input{flex:1;width:100%;min-height:48px;padding:11px 14px;border:1px solid #d5dde1;border-radius:8px;background:#fff;color:#243746;font-size:15px;line-height:1.4;box-sizing:border-box;}
.bp-coupon-field input:focus{outline:none;border-color:#4d858d;box-shadow:0 0 0 3px rgba(77,133,141,.1);}
.bp-coupon-field .bp-booking-button{width:auto;min-width:190px;margin-top:0;}
.bp-coupon-message{margin-top:12px;color:#66727c;font-size:13px;line-height:1.5;}
.bp-coupon-message.is-success{color:#39714a;}
.bp-coupon-message.is-error{color:#a52f32;}
.bp-coupon-field .bp-booking-button:disabled{opacity:.65;cursor:wait;}
#bp-summary-coupon-row[hidden]{display:none!important;}
#bp-summary-coupon{color:#39714a;}

/* =========================================================
   Zahlungsarten
   ========================================================= */

.bp-payment{width:100%;margin-top:30px;padding:25px 28px;border:1px solid #dfe5e8;border-radius:12px;background:#f8fafb;box-sizing:border-box;}
.bp-payment h3{margin:0 0 18px;color:#243746;font-size:18px;line-height:1.3;}
.bp-payment-option{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:14px 16px;border:1px solid #dfe5e8;border-radius:8px;background:#fff;color:#243746;cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.bp-payment-option:last-child{margin-bottom:0;}
.bp-payment-option:hover{border-color:#4d858d;background:#f7fafb;}
.bp-payment-option input{margin:0;accent-color:#4d858d;}

/* =========================================================
   Bestellübersicht
   ========================================================= */

.bp-order-summary{width:100%;margin-top:30px;padding:25px 28px;border:1px solid #dfe5e8;border-radius:12px;background:#f8fafb;box-sizing:border-box;}
.bp-order-summary-header{margin:0 0 18px;padding:0 0 15px;border-bottom:1px solid #dfe5e8;}
.bp-order-summary-header h3{margin:0;color:#243746;font-size:16px;line-height:1.3;}
.bp-order-summary-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 0;color:#66727c;font-size:16px;line-height:1.5;}
.bp-order-summary-row-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 0;color:#243746;font-size:18px;line-height:1.5;font-weight:800;}
.bp-order-summary-row-total strong{color:#243746;font-weight:800;}
.bp-order-summary-row strong{color:#243746;font-weight:600;}
.bp-order-summary-row:nth-of-type(3){margin-top:8px;padding-top:17px;border-top:1px solid #dfe5e8;color:#243746;font-size:16px;}
.bp-order-summary-row:nth-of-type(3) strong{font-size:16px;}
.bp-order-summary-tax{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:5px;color:#7b878d;font-size:16px;line-height:1.5;}
.bp-order-summary-tax strong{color:#66727c;font-weight:500;}

/* =========================================================
   Einwilligungen
   ========================================================= */

.bp-consents{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:30px;}
.bp-consent-item{display:flex;align-items:flex-start;gap:10px;color:#66727c;font-size:14px;line-height:1.6;}
.bp-consent-item input{flex:0 0 auto;margin:4px 0 0;accent-color:#4d858d;}
.bp-consent-item label{margin:0;}
.bp-consent-item a{color:#4d858d;text-decoration:underline;text-underline-offset:2px;}
.bp-consent-item a:hover{color:#243746;}

/* =========================================================
   Buchungsbutton & Meldungen
   ========================================================= */

.bp-booking-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:28px;padding:13px 24px;border:0;border-radius:8px;background:#4d858d;color:#fff;font-size:16px;font-weight:700;line-height:1.4;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.bp-booking-button:hover{background:#3f7178;box-shadow:0 8px 20px rgba(77,133,141,.2);transform:translateY(-1px);}
.bp-booking-button:focus{outline:none;box-shadow:0 0 0 3px rgba(77,133,141,.18);}
.bp-booking-message{width:100%;padding:28px;border:1px solid #dfe5e8;border-radius:12px;background:#f8fafb;box-sizing:border-box;}
.bp-booking-message h2,.bp-booking-message h3{margin:0 0 10px;color:#243746;line-height:1.3;}
.bp-booking-message p{margin:0;color:#66727c;line-height:1.7;}
.bp-booking-message p+p{margin-top:8px;}
.bp-booking-soldout,.bp-booking-error{border-color:#ead7d7;background:#fcf7f7;}
.bp-booking-cancelled{border-color:#eadfce;background:#fcfaf6;}

/* =========================================================
   Erfolgreiche Buchung
   ========================================================= */

.bp-booking-success{width:100%;max-width:none;margin:50px 0;padding:45px;border:1px solid #dfe5e8;border-radius:14px;background:#fff;text-align:center;box-shadow:0 8px 30px rgba(36,55,70,.06);box-sizing:border-box;}
.bp-success-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 22px;border-radius:50%;background:#4d858d;color:#fff;font-size:28px;font-weight:700;}
.bp-booking-success h2{margin:0 0 12px;color:#243746;font-size:28px;line-height:1.3;}
.bp-booking-success p{margin:0;color:#66727c;line-height:1.7;}
.bp-booking-success p+p{margin-top:10px;}
.bp-booking-number{display:flex;flex-direction:column;gap:5px;margin:28px auto;padding:18px 24px;border:1px solid #dfe5e8;border-radius:10px;background:#f8fafb;}
.bp-booking-number span{color:#7b878d;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;}
.bp-booking-number strong{color:#243746;font-size:19px;letter-spacing:.4px;}
.bp-success-details{width:100%;max-width:700px;margin:28px auto 0;border:1px solid #dfe5e8;border-radius:10px;background:#f8fafb;overflow:hidden;text-align:left;}
.bp-success-details table{width:100%;border-collapse:collapse;}
.bp-success-details td{padding:12px 16px;border-bottom:1px solid #e1e6e8;color:#66727c;font-size:14px;line-height:1.5;vertical-align:top;}
.bp-success-details tr:last-child td{border-bottom:0;}
.bp-success-details td:first-child{width:36%;color:#243746;font-weight:600;}
.bp-success-details td:last-child{color:#243746;}

body:has(.bp-booking-success) .edit-link,
body:has(.bp-booking-success) .post-edit-link,
body:has(.bp-booking-success) .entry-author,
body:has(.bp-booking-success) .post-author,
body:has(.bp-booking-success) .entry-meta .author,
body:has(.bp-booking-success) .byline,
body:has(.bp-booking-success) .post-meta-author,
body:has(.bp-booking-success) .bookmark,
body:has(.bp-booking-success) .bookmark-link,
body:has(.bp-booking-success) .post-bookmark,
body:has(.bp-booking-success) .entry-bookmark,
body:has(.bp-booking-success) .add-to-bookmark,
body:has(.bp-booking-success) .bookmark-hint{display:none!important;}

/* =========================================================
   Rechtliche Modalfenster
   ========================================================= */

.bp-legal-modal{position:fixed;inset:0;z-index:99999999;display:flex;align-items:center;justify-content:center;padding:25px;box-sizing:border-box;}
.bp-legal-modal[hidden]{display:none;}
.bp-legal-modal-backdrop{position:absolute;inset:0;background:rgba(36,55,70,.6);}
.bp-legal-modal-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:800px;max-height:85vh;border-radius:14px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.2);overflow:hidden;}
.bp-legal-modal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 25px;border-bottom:1px solid #dfe5e8;background:#f8fafb;}
.bp-legal-modal-header h2{margin:0;color:#243746;font-size:21px;line-height:1.3;}
.bp-legal-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#e9eef0;color:#243746;font-size:25px;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease;}
.bp-legal-modal-close:hover{background:#4d858d;color:#fff;}
.bp-legal-modal-content{overflow-y:auto;padding:28px;color:#66727c;font-size:15px;line-height:1.7;}
.bp-legal-modal-content h2,.bp-legal-modal-content h3,.bp-legal-modal-content h4{color:#243746;}
.bp-legal-modal-content a{color:#4d858d;}

/* =========================================================
   Widerrufsseite
   ========================================================= */

.bp-withdrawal-page{width:100%;padding:60px 0 90px;color:#243746;box-sizing:border-box;}
.bp-withdrawal-page>.container{max-width:900px;}
.bp-withdrawal-header{margin:0 0 35px;text-align:center;}
.bp-withdrawal-header h1{margin:0 0 14px;color:#243746;font-size:38px;line-height:1.2;font-weight:700;}
.bp-withdrawal-header p{max-width:650px;margin:0 auto;color:#66727c;font-size:16px;line-height:1.75;}
.bp-withdrawal-box{width:100%;max-width:620px;margin:0 auto;padding:38px 40px;border:1px solid #dfe5e8;border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(36,55,70,.08);box-sizing:border-box;}
.bp-withdrawal-box form{margin:0;}
.bp-withdrawal-box .bp-form-row{margin:0 0 24px;}
.bp-withdrawal-box .bp-form-row label{display:block;margin:0 0 9px;color:#243746;font-size:14px;font-weight:700;}
.bp-withdrawal-box .bp-form-row input{width:100%;min-height:52px;padding:12px 16px;border:1px solid #d5dde1;border-radius:9px;background:#fdfefe;color:#243746;font-size:16px;line-height:1.4;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}
.bp-withdrawal-box .bp-form-row input:hover{border-color:#bdcdd1;}
.bp-withdrawal-box .bp-form-row input:focus{outline:none;border-color:#4d858d;background:#fff;box-shadow:0 0 0 4px rgba(77,133,141,.1);}
.bp-withdrawal-submit{margin-top:28px;}
.bp-withdrawal-submit .bp-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:13px 24px;border:0;border-radius:9px;background:#4d858d;color:#fff;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(77,133,141,.16);transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.bp-withdrawal-submit .bp-button:hover{background:#3f7178;color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 24px rgba(77,133,141,.22);}
.bp-withdrawal-submit .bp-button:focus{outline:none;box-shadow:0 0 0 4px rgba(77,133,141,.15);}
.bp-withdrawal-submit .bp-button:active{transform:translateY(0);}
.bp-withdrawal-message{width:100%;max-width:620px;margin:0 auto 24px;padding:16px 20px;border:1px solid #dfe5e8;border-radius:10px;background:#f8fafb;color:#66727c;font-size:14px;line-height:1.6;box-sizing:border-box;}
.bp-withdrawal-message.bp-withdrawal-success{border-color:#c9ddd0;background:#f2f9f4;color:#39714a;}
.bp-withdrawal-message.bp-withdrawal-error{border-color:#ead1d1;background:#fcf5f5;color:#a52f32;}
.bp-withdrawal-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:8px;background:#4d858d;color:#fff;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;}
.bp-withdrawal-button:hover{background:#3f7178;color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 8px 20px rgba(77,133,141,.2);}

/* =========================================================
   Responsive
   ========================================================= */

@media(max-width:1100px){
    .bp-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .bp-course-row{grid-template-columns:90px minmax(0,1fr) auto;}
    .bp-course-row-footer{min-width:160px;}
}

@media(max-width:900px){
    .bp-course-info{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:767px){
    .bp-archive{margin:30px 0;}
    .bp-archive-header{margin-bottom:30px;}
    .bp-archive-header h1{font-size:30px;}
    .bp-category-grid{grid-template-columns:1fr;gap:18px;}
    .bp-category-card-main{padding:22px;}
    .bp-category-card-footer{padding:15px 22px;}
    .bp-month-list{gap:32px;}
    .bp-month-heading{font-size:21px;}
    .bp-course-row{display:flex;flex-direction:column;align-items:stretch;}
    .bp-course-date{flex-direction:row;justify-content:flex-start;gap:10px;min-height:auto;padding:12px 18px;border-right:0;border-bottom:1px solid #dfe5e8;text-align:left;}
    .bp-course-date strong{font-size:22px;}
    .bp-course-row-main{padding:18px;}
    .bp-course-row-footer{justify-content:space-between;min-width:0;padding:14px 18px;border-top:1px solid #e1e6e8;background:#f8fafb;text-align:left;}
    .bp-course{margin:30px 0;}
    .bp-course-info{grid-template-columns:1fr;}
    .bp-booking-box{padding:25px 20px;}
    .bp-booking-box>h2{font-size:24px;}
    .bp-form-grid{grid-template-columns:1fr;gap:16px;}
    .bp-form-field-full{margin-top:16px;}
    .bp-course-options{padding:20px;}
    .bp-course-option{padding:14px;}
    .bp-course-option-content{display:block;}
    .bp-course-option-price{display:block;margin-top:4px;}
    .bp-participant-fields{padding:20px;}
    .bp-participant-name-grid{grid-template-columns:1fr;gap:0;}
    .bp-payment,.bp-order-summary,.bp-coupon-box{padding:20px;}
    .bp-order-summary-row,.bp-order-summary-tax{align-items:flex-start;}
    .bp-coupon-field{flex-direction:column;align-items:stretch;}
    .bp-coupon-field .bp-booking-button{width:100%;min-width:0;}
    .bp-booking-success{margin:30px 0;padding:30px 20px;}
    .bp-booking-success h2{font-size:24px;}
    .bp-success-details td{padding:11px 14px;font-size:13px;}
    .bp-success-details td:first-child{width:42%;}
    .bp-legal-modal{padding:12px;}
    .bp-legal-modal-dialog{max-height:90vh;}
    .bp-legal-modal-content{padding:20px;}
    .bp-withdrawal-page{padding:40px 0 60px;}
    .bp-withdrawal-header{margin-bottom:28px;}
    .bp-withdrawal-header h1{font-size:30px;}
    .bp-withdrawal-header p{font-size:15px;}
    .bp-withdrawal-box{padding:28px 22px;border-radius:13px;}
    .bp-withdrawal-submit .bp-button,.bp-withdrawal-button{width:100%;box-sizing:border-box;}
}

@media(max-width:480px){
    .bp-course-info{grid-template-columns:1fr;}
    .bp-course-meta{padding:16px 20px;}
    .bp-course-info .bp-course-price{align-items:flex-start;flex-direction:column;gap:4px;padding:18px 20px;}
    .bp-success-details td{display:block;width:auto!important;padding:6px 14px;border-bottom:0;}
    .bp-success-details tr{display:block;padding:6px 0;border-bottom:1px solid #e1e6e8;}
    .bp-success-details tr:last-child{border-bottom:0;}
}