@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500&display=swap');

/* RESET to defeat Elementor / theme global styles */
.srb-app, .srb-app *, .srb-app *::before, .srb-app *::after {
    box-sizing: border-box;
}
.srb-app button {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
}
.srb-app ul, .srb-app ol {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.srb-app a {
    text-decoration: none !important;
}

.srb-app{font-family:'Inter',sans-serif;background:#0F0E17;color:#FFF;padding:32px;border-radius:16px;max-width:1100px;margin:0 auto;position:relative}
.srb-app *{box-sizing:border-box}

.srb-steps{display:flex;align-items:center;justify-content:center;margin-bottom:32px;gap:8px}
.srb-step{display:flex;align-items:center;gap:8px;opacity:.4;transition:opacity .2s}
.srb-step.active,.srb-step.done{opacity:1}
.srb-step-num{width:32px;height:32px;border-radius:50%;background:#1A1A2E;color:#888;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}
.srb-step.active .srb-step-num,.srb-step.done .srb-step-num{background:#257FFF;color:#FFF}
.srb-step-label{font-size:14px;color:#CCC}
.srb-step-line{width:48px;height:2px;background:#2A2A3E;flex-shrink:0}

.srb-panel{display:none}
.srb-panel.active{display:block;animation:srb-fade-in .3s}
@keyframes srb-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.srb-panel-title{font-size:28px;font-weight:600;margin:0 0 8px 0;color:#FFF}
.srb-panel-desc{color:#888;margin:0 0 24px 0;font-size:15px}

.srb-error{background:#7F1D1D;color:#FECACA;padding:12px 16px;border-radius:8px;margin-bottom:16px;display:none;font-size:14px}
.srb-error.show{display:block}

/* PACKAGES */
.srb-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.srb-pkg{background:#1A1A2E;border:2px solid #2A2A3E;border-radius:16px;padding:24px;transition:all .2s;cursor:pointer;display:flex;flex-direction:column}
.srb-pkg:hover{border-color:#257FFF;transform:translateY(-4px)}
.srb-pkg.selected{border-color:#257FFF;background:linear-gradient(135deg,#1A1A2E 0%,#1F2540 100%)}
.srb-pkg-name{font-size:22px;font-weight:700;margin-bottom:4px}
.srb-pkg-subtitle{color:#888;font-size:13px;margin-bottom:16px}
.srb-pkg-price{font-size:32px;font-weight:700;color:#257FFF;margin-bottom:16px}
.srb-pkg-price-suffix{font-size:14px;color:#888;font-weight:400}
.srb-pkg-features{list-style:none;padding:0;margin:0 0 20px 0;flex:1}
.srb-pkg-features li{padding:8px 0;color:#CCC;font-size:14px;border-bottom:1px solid #2A2A3E;display:flex;align-items:flex-start;gap:8px}
.srb-pkg-features li:before{content:'✓';color:#10B981;font-weight:700;flex-shrink:0}
.srb-pkg-features li:last-child{border-bottom:none}
/* Fix extra-blokk minden csomag kártyán: pipa nélküli kiemelt fejléc + behúzott alpont */
.srb-pkg-features li.srb-feat-header{border-bottom:none;margin-top:14px;padding-top:6px;color:#FFF;font-weight:700;font-size:15px}
.srb-pkg-features li.srb-feat-header:before{content:none}
.srb-pkg-features li.srb-feat-subitem{border-bottom:none;padding-top:2px;padding-left:18px;color:#999;font-size:13px}
.srb-pkg-features li.srb-feat-subitem:before{content:none}
.srb-pkg-select{background:#257FFF;color:#FFF;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px;transition:background .2s;width:100%}
.srb-pkg-select:hover{background:#1E6AE0}
.srb-pkg.selected .srb-pkg-select{background:#10B981}
/* Pricing mód: a "Kiválasztom" link gombként nézzen ki */
.srb-app a.srb-pkg-select{display:block;width:100%;text-align:center;padding:12px 24px;border-radius:8px;font-weight:600;font-size:14px;background:#257FFF !important;color:#FFF !important;text-decoration:none !important;box-sizing:border-box;font-family:'Inter',sans-serif}
.srb-app a.srb-pkg-select:hover{background:#1E6AE0 !important;color:#FFF !important}

/* LOCATIONS (helyszínek / stúdió díszletek) */
.srb-locations{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.srb-loc{background:#1A1A2E;border:2px solid #2A2A3E;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .2s}
.srb-loc:hover{border-color:#257FFF;transform:translateY(-4px)}
.srb-loc.selected{border-color:#257FFF;box-shadow:0 0 0 3px rgba(37,127,255,.18)}
.srb-loc-img{width:100%;height:160px;background-size:cover;background-position:center;background-color:#0F0E17}
.srb-loc-img-empty{display:flex;align-items:center;justify-content:center}
.srb-loc-img-empty:before{content:'\01F399';font-size:40px;opacity:.35}
.srb-loc-name{padding:14px 16px;font-size:15px;font-weight:600;color:#FFF;text-align:center}
.srb-loc.selected .srb-loc-name{color:#257FFF}

/* DATETIME */
.srb-datetime-grid{display:flex;gap:24px;align-items:flex-start}
.srb-calendar-section{flex:0 0 380px}
.srb-times-section{flex:1;display:flex;flex-direction:column;gap:24px}
.srb-calendar{background:#1A1A2E;border-radius:12px;padding:16px}
.srb-calendar table{width:100%;border-collapse:collapse;border:none !important}
.srb-calendar td,.srb-calendar th{border:none !important;padding:0 !important;text-align:center}
.srb-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.srb-cal-title{font-weight:600;color:#FFF;font-size:16px}
.srb-cal-nav{background:transparent;border:none;color:#888;cursor:pointer;font-size:20px;padding:4px 12px;border-radius:6px}
.srb-cal-nav:hover{background:#2A2A3E !important;color:#FFF !important}
.srb-cal-weekday{padding:6px 0 !important;font-size:12px;color:#888;font-weight:600}
.srb-cal-day{padding:8px 0 !important;cursor:pointer;color:#CCC;font-size:14px;border-radius:6px;transition:background .15s}
.srb-cal-day:hover{background:#2A2A3E}
.srb-cal-day.disabled{color:#444;cursor:not-allowed}
.srb-cal-day.today{border:1px solid #257FFF}
.srb-cal-day.selected{background:#257FFF !important;color:#FFF;font-weight:600}

.srb-duration-block label,.srb-slots-block label{display:block;color:#CCC;font-size:14px;font-weight:500;margin-bottom:8px}
.srb-duration-control{display:flex;align-items:center;gap:12px;background:#1A1A2E;border-radius:8px;padding:6px;width:fit-content}
.srb-duration-btn{background:#2A2A3E;border:none;color:#FFF;width:36px;height:36px;border-radius:6px;font-size:18px;cursor:pointer;font-weight:600}
.srb-duration-btn:hover{background:#257FFF}
.srb-app #srb-duration {
    background: transparent !important;
    border: none !important;
    color: #FFF !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    width: 48px !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    font-family: 'Inter', sans-serif !important;
}
.srb-app #srb-duration:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

.srb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;max-height:280px;overflow-y:auto}
.srb-slot{background:#1A1A2E;border:2px solid #2A2A3E;color:#FFF;padding:10px;border-radius:8px;cursor:pointer;text-align:center;font-size:14px;font-weight:500;transition:all .15s}
.srb-slot:hover{border-color:#257FFF}
.srb-slot.selected{background:#257FFF;border-color:#257FFF}
.srb-slots-empty{color:#666;font-size:14px;grid-column:1/-1;text-align:center;padding:40px 0;margin:0}

/* ADDONS */
.srb-pay-paid{background:#10B981 !important;color:#fff}
.srb-pay-pending{background:#F59E0B !important;color:#fff}
.srb-pay-failed{background:#EF4444 !important;color:#fff}
.srb-pay-unpaid{background:#6B7280 !important;color:#fff}

/* FINAL STEP */
.srb-final-layout{display:flex;gap:24px}
.srb-details-section{flex:1}
.srb-summary-section{flex:0 0 320px}
.srb-field{margin-bottom:16px}
.srb-field label{display:block;color:#CCC;font-size:14px;font-weight:500;margin-bottom:6px}

.srb-app .srb-input,.srb-app input.srb-input,.srb-app textarea.srb-input,
.srb-app input[type="text"].srb-input,.srb-app input[type="email"].srb-input,.srb-app input[type="tel"].srb-input{
    background:#1A1A2E !important;border:2px solid #2A2A3E !important;border-radius:12px !important;
    color:#FFF !important;padding:14px 16px !important;font-size:15px !important;font-weight:400 !important;
    width:100% !important;transition:border-color .2s,box-shadow .2s;
    -webkit-appearance:none !important;appearance:none !important;-webkit-border-radius:12px !important;font-family:'Inter',sans-serif
}
.srb-app .srb-input:focus{border-color:#257FFF !important;outline:none !important;box-shadow:0 0 0 3px rgba(37,127,255,.12) !important}
.srb-app textarea.srb-input{border-radius:12px !important;resize:vertical;-webkit-border-radius:12px !important}
.srb-input-error{border-color:#EF4444 !important}

.srb-summary{background:#1A1A2E;border-radius:12px;padding:20px;position:sticky;top:20px}
.srb-summary-title{font-size:16px;font-weight:600;color:#FFF;margin:0 0 16px 0;padding-bottom:12px;border-bottom:1px solid #2A2A3E}
.srb-summary-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;color:#CCC;font-size:14px}
.srb-summary-row strong{color:#FFF}
.srb-summary-total{margin-top:12px;padding-top:12px;border-top:1px solid #2A2A3E;font-size:18px;font-weight:700;color:#257FFF;display:flex;justify-content:space-between}

/* NAV */
.srb-nav-buttons{display:flex;justify-content:space-between;align-items:center;margin-top:32px}
.srb-nav-right{display:flex;gap:12px}

/* NAV BUTTONS - extra-strong specificity to defeat Elementor global colors */
.srb-app .srb-nav-buttons button.srb-btn-back,
.srb-app .srb-nav-buttons button.srb-btn-next,
.srb-app .srb-nav-buttons button.srb-btn-submit,
.srb-app button.srb-btn-back,
.srb-app button.srb-btn-next,
.srb-app button.srb-btn-submit {
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}
.srb-app .srb-nav-buttons button.srb-btn-back,
.srb-app button.srb-btn-back {
    background: transparent !important;
    color: #888 !important;
    border: 2px solid #2A2A3E !important;
}
.srb-app .srb-nav-buttons button.srb-btn-back:hover,
.srb-app button.srb-btn-back:hover {
    border-color: #257FFF !important;
    color: #FFF !important;
    background: transparent !important;
}
.srb-app .srb-nav-buttons button.srb-btn-next,
.srb-app button.srb-btn-next {
    background: #257FFF !important;
    color: #FFF !important;
}
.srb-app .srb-nav-buttons button.srb-btn-next:hover,
.srb-app button.srb-btn-next:hover {
    background: #1E6AE0 !important;
    color: #FFF !important;
}
.srb-app .srb-nav-buttons button.srb-btn-submit,
.srb-app button.srb-btn-submit {
    background: #10B981 !important;
    color: #FFF !important;
}
.srb-app .srb-nav-buttons button.srb-btn-submit:hover,
.srb-app button.srb-btn-submit:hover {
    background: #059669 !important;
    color: #FFF !important;
}

/* PACKAGE SELECT BUTTONS */
.srb-app .srb-pkg button.srb-pkg-select,
.srb-app button.srb-pkg-select {
    background: #257FFF !important;
    color: #FFF !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    font-size: 14px !important;
    width: 100% !important;
    transition: background .2s !important;
    font-family: 'Inter', sans-serif !important;
}
.srb-app .srb-pkg button.srb-pkg-select:hover,
.srb-app button.srb-pkg-select:hover {
    background: #1E6AE0 !important;
    color: #FFF !important;
}
.srb-app .srb-pkg.selected button.srb-pkg-select,
.srb-app .srb-pkg.selected .srb-pkg-select {
    background: #10B981 !important;
    color: #FFF !important;
}

/* DURATION BUTTONS */
.srb-app button.srb-duration-btn {
    background: #2A2A3E !important;
    border: none !important;
    color: #FFF !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    padding: 0 !important;
}
.srb-app button.srb-duration-btn:hover {
    background: #257FFF !important;
    color: #FFF !important;
}

/* SLOT BUTTONS */
.srb-app button.srb-slot {
    background: #1A1A2E !important;
    border: 2px solid #2A2A3E !important;
    color: #FFF !important;
    padding: 10px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: all .15s !important;
    font-family: 'Inter', sans-serif !important;
}
.srb-app button.srb-slot:hover {
    border-color: #257FFF !important;
}
.srb-app button.srb-slot.selected {
    background: #257FFF !important;
    border-color: #257FFF !important;
}

/* CAL NAV BUTTONS */
.srb-app button.srb-cal-nav {
    background: transparent !important;
    border: none !important;
    color: #888 !important;
    cursor: pointer !important;
    font-size: 20px !important;
    padding: 4px 12px !important;
    border-radius: 6px !important;
}
.srb-app button.srb-cal-nav:hover {
    background: #2A2A3E !important;
    color: #FFF !important;
}

/* LOADING */
.srb-loading{position:absolute;inset:0;background:rgba(15,14,23,.85);display:flex;align-items:center;justify-content:center;border-radius:16px;z-index:100}
.srb-spinner{width:36px;height:36px;border:3px solid #333;border-top-color:#257FFF;border-radius:50%;animation:srb-spin .7s linear infinite}
@keyframes srb-spin{to{transform:rotate(360deg)}}

/* SUCCESS */
.srb-success{text-align:center;padding:60px 20px}
.srb-success-icon{width:80px;height:80px;background:#10B981;color:#FFF;border-radius:50%;font-size:48px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.srb-success h2{font-size:28px;margin:0 0 8px 0;color:#FFF}
.srb-success p{color:#888;font-size:16px;margin:0}

.srb-app button{font-family:'Inter',sans-serif !important;outline:none !important;box-shadow:none !important}
.srb-app button:focus{outline:none !important;box-shadow:none !important}

@media(max-width:900px){
    .srb-packages{grid-template-columns:repeat(2,1fr)}
    .srb-locations{grid-template-columns:repeat(2,1fr)}
    .srb-datetime-grid{flex-direction:column}
    .srb-calendar-section{flex:1;width:100%}
    .srb-final-layout{flex-direction:column}
    .srb-summary-section{width:100%}
    .srb-summary{position:static}
}
@media(max-width:640px){
    .srb-app{padding:16px}
    .srb-packages{grid-template-columns:1fr}
    .srb-locations{grid-template-columns:1fr}
    .srb-pkg{max-width:380px;margin:0 auto;width:100%}
    .srb-step-label{display:none}
    .srb-step-line{width:20px;margin:0 4px}
    .srb-panel-title{font-size:22px}
    .srb-panel-desc{font-size:14px}
    .srb-nav-buttons{flex-direction:column;align-items:stretch;gap:12px}
    .srb-nav-right{justify-content:center;flex-direction:column-reverse;align-items:center;width:100%}
    .srb-btn-back,.srb-btn-next,.srb-btn-submit{width:100%;text-align:center}
    .srb-pkg-price{font-size:26px}
}