.bbp-search-form,.bbp-search-form *,.bbp-results-layout,.bbp-results-layout *,.bbp-guest-layout,.bbp-guest-layout *{box-sizing:border-box}
.bbp-search-form{display:grid;grid-template-columns:1fr 1fr .8fr .8fr auto;gap:10px;background:#fff;padding:14px;border:1px solid #e5e7eb;border-radius:14px}
.bbp-search-form label{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px}.bbp-search-form label span{display:block;font-size:11px;color:#6b7280;margin-bottom:5px}
.bbp-search-form input,.bbp-search-form select{width:100%!important;border:0!important;box-shadow:none!important;background:#fff!important;font-weight:700!important}
.bbp-search-form button{border:0;border-radius:10px;background:#444;color:#fff;padding:0 22px;font-weight:700}
.bbp-child-ages{display:none;grid-column:1/-1;gap:10px}.bbp-child-ages.visible{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr))}
.bbp-child-age label{display:block!important}.bbp-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.bbp-match-notice{padding:14px 16px;background:#effbea;border:1px solid #b9dfa9;border-radius:10px;margin:20px 0}
.bbp-room-list{display:flex;flex-direction:column;gap:18px}.bbp-room-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px}
.bbp-room-card-top{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:18px;align-items:center}.bbp-room-card-top img,.bbp-room-no-image{width:130px;height:120px;object-fit:cover;border-radius:10px}
.bbp-room-no-image{display:flex;align-items:center;justify-content:center;background:#eee}.bbp-room-info h3{margin:0;color:#c22}.bbp-toggle-price{border:0;background:#666;color:#fff;border-radius:10px;padding:14px 18px;font-weight:700}
.bbp-price-panel{display:none;grid-template-columns:1fr 1fr 1fr;margin-top:18px;border:1px solid #ececec}.bbp-price-panel.open{display:grid}.bbp-price-panel>div{padding:18px;text-align:center;border-right:1px solid #ececec}.bbp-price-panel>div:last-child{border-right:0}
.bbp-price-panel small{display:block;margin-bottom:10px;color:#6b7280}.bbp-price-panel strong{font-size:20px}.bbp-capacity-icons{display:flex;justify-content:center;gap:20px}.bbp-capacity-icons span{display:flex;align-items:center;gap:7px}.bbp-capacity-icons svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8}
.bbp-select-room{border:0;background:#111827;color:#fff;border-radius:9px;padding:12px 18px;font-weight:700}.bbp-select-room.selected{background:#b42318}
.bbp-summary-sidebar,.bbp-guest-sidebar{position:sticky;top:20px;display:flex;flex-direction:column;gap:18px}.bbp-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.bbp-summary-card h3{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #eee}
.bbp-summary-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bbp-summary-card dd{margin:0;text-align:right}.bbp-summary-total{font-size:27px;font-weight:800;text-align:center;margin:18px 0}.bbp-summary-card button{width:100%;min-height:48px;border:0;background:#555;color:#fff;border-radius:10px;font-weight:700}
.bbp-guest-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.bbp-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin-bottom:24px}
.bbp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.bbp-form-grid input,.bbp-person-row input,.bbp-person-row select,.bbp-form-card textarea{width:100%!important;margin-top:6px!important;border:1px solid #ddd!important;border-radius:9px!important;padding:11px 12px!important;background:#fff!important}
.bbp-person-row{display:grid;grid-template-columns:130px repeat(4,1fr);gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid #eee}.bbp-full{display:block;margin-top:18px}.bbp-contract{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;margin-bottom:16px}.bbp-complete{width:100%;min-height:54px;border:0;border-radius:10px;background:#111827;color:#fff;font-weight:800}
.bbp-notice{padding:18px;background:#fff7df;border:1px solid #ead7a3;border-radius:8px}
@media(max-width:980px){.bbp-search-form{grid-template-columns:1fr 1fr}.bbp-search-form button{grid-column:1/-1;min-height:50px}.bbp-results-layout,.bbp-guest-layout{grid-template-columns:1fr}.bbp-summary-sidebar,.bbp-guest-sidebar{position:static}.bbp-person-row{grid-template-columns:1fr 1fr}.bbp-person-row strong{grid-column:1/-1}}
@media(max-width:640px){.bbp-search-form,.bbp-form-grid{grid-template-columns:1fr}.bbp-search-form button{grid-column:auto}.bbp-child-ages.visible{grid-template-columns:1fr 1fr}.bbp-room-card-top{grid-template-columns:90px 1fr}.bbp-room-card-top img,.bbp-room-no-image{width:90px;height:90px}.bbp-toggle-price{grid-column:1/-1}.bbp-price-panel.open{grid-template-columns:1fr}.bbp-person-row{grid-template-columns:1fr}}

.bbp-inline-payment-card{padding-bottom:14px}
.bbp-sidebar-contract{display:flex;gap:9px;align-items:flex-start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:13px;margin:14px 0;font-size:13px;line-height:1.45}
.bbp-sidebar-contract input{margin-top:3px}
.bbp-inline-checkout .woocommerce-billing-fields,
.bbp-inline-checkout .woocommerce-additional-fields,
.bbp-inline-checkout #order_review_heading,
.bbp-inline-checkout .woocommerce-checkout-review-order-table,
.bbp-inline-checkout .woocommerce-form-coupon-toggle,
.bbp-inline-checkout .woocommerce-privacy-policy-text,
.bbp-inline-checkout .woocommerce-terms-and-conditions-wrapper{display:none!important}
.bbp-inline-checkout form.checkout{margin:0!important}
.bbp-inline-checkout #order_review{width:100%!important;float:none!important}
.bbp-inline-checkout #payment{background:transparent!important}
.bbp-inline-checkout #payment ul.payment_methods{padding:0!important;border:0!important}
.bbp-inline-checkout #payment div.form-row{padding:0!important;margin:14px 0 0!important}
.bbp-inline-checkout #place_order{width:100%!important;min-height:52px!important;border:0!important;border-radius:10px!important;background:#111827!important;color:#fff!important;font-weight:800!important;text-transform:uppercase!important}
.bbp-inline-checkout .payment_box{margin:10px 0!important;border-radius:10px!important}
.bbp-inline-checkout .wc_payment_methods li{margin-bottom:10px!important}
.bbp-inline-checkout input[type=text],
.bbp-inline-checkout input[type=tel],
.bbp-inline-checkout input[type=password],
.bbp-inline-checkout select{width:100%!important;border:1px solid #d7dde5!important;border-radius:9px!important;padding:11px 12px!important;background:#fff!important}

.bbp-show-card-form{
    width:100%;
    min-height:54px;
    border:0;
    border-radius:10px;
    background:#111827;
    color:#fff;
    font-weight:800;
    text-transform:uppercase;
    cursor:pointer;
}
.bbp-show-card-form[hidden]{display:none!important}
.bbp-inline-checkout[hidden]{display:none!important}

/* SanalPosPro marka, başlık ve açıklamalarını rezervasyon ekranında gizle */
.bbp-inline-checkout .wc_payment_method > input.input-radio,
.bbp-inline-checkout .wc_payment_method > label,
.bbp-inline-checkout .wc_payment_method > label img,
.bbp-inline-checkout .wc_payment_method > label::before,
.bbp-inline-checkout .wc_payment_method > label::after,
.bbp-inline-checkout .payment_box > p:first-child,
.bbp-inline-checkout .payment_box .payment_method_title,
.bbp-inline-checkout .payment_box .payment-description,
.bbp-inline-checkout .payment_box .description,
.bbp-inline-checkout .payment_box img{
    display:none!important;
}
.bbp-inline-checkout .wc_payment_methods{
    margin:0!important;
    padding:0!important;
}
.bbp-inline-checkout .wc_payment_method{
    margin:0!important;
    padding:0!important;
    list-style:none!important;
}
.bbp-inline-checkout .payment_box{
    margin:0 0 14px!important;
    padding:0!important;
    background:transparent!important;
}
.bbp-inline-checkout .payment_box::before{
    display:none!important;
}
.bbp-inline-checkout #payment{
    border:0!important;
    box-shadow:none!important;
}

/* v3.0.3: ödeme kutusunda yalnızca sözleşme ve Ödeme Yap butonu */
.bbp-inline-checkout{display:none!important}
.bbp-show-card-form{
    width:100%;
    min-height:56px;
    border:0;
    border-radius:10px;
    background:#111827;
    color:#fff;
    font-weight:800;
    text-transform:uppercase;
    cursor:pointer;
}
.bbp-show-card-form:disabled{opacity:.65;cursor:wait}

.bbp-sanalpospro-frame[hidden]{display:none!important}
.bbp-sanalpospro-frame{
    margin-top:14px;
    width:100%;
    min-height:620px;
    overflow:hidden;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
}
.bbp-sanalpospro-frame iframe{
    display:block!important;
    width:100%!important;
    min-height:620px!important;
    height:72vh!important;
    max-height:820px!important;
    border:0!important;
    background:#fff!important;
}
@media(max-width:640px){
    .bbp-sanalpospro-frame,
    .bbp-sanalpospro-frame iframe{
        min-height:680px!important;
        height:78vh!important;
    }
}

html.bbp-payment-modal-open,
body.bbp-payment-modal-open{
    overflow:hidden!important;
}

.bbp-payment-modal[hidden]{
    display:none!important;
}

.bbp-payment-modal{
    position:fixed;
    inset:0;
    z-index:9999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.bbp-payment-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.72);
    backdrop-filter:blur(4px);
}

.bbp-payment-modal-dialog{
    position:relative;
    z-index:1;
    width:min(620px,96vw);
    max-height:92vh;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 32px 100px rgba(0,0,0,.35);
}

.bbp-payment-modal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    min-height:72px;
    padding:16px 20px;
    border-bottom:1px solid #e5e7eb;
    background:#fff;
}

.bbp-payment-modal-header strong{
    display:block;
    color:#111827;
    font-size:18px;
    line-height:1.3;
}

.bbp-payment-modal-header span{
    display:block;
    margin-top:3px;
    color:#6b7280;
    font-size:12px;
}

.bbp-payment-modal-close{
    flex:0 0 auto;
    width:40px;
    height:40px;
    border:0;
    border-radius:10px;
    background:#111827;
    color:#fff;
    font-size:25px;
    line-height:1;
    cursor:pointer;
}

.bbp-payment-modal-close:hover{
    opacity:.88;
}

.bbp-payment-modal .bbp-sanalpospro-frame{
    width:100%;
    height:min(760px,calc(92vh - 72px));
    min-height:600px;
    margin:0;
    overflow:auto;
    border:0;
    border-radius:0;
    background:#f8fafc;
}

.bbp-payment-modal .bbp-sanalpospro-frame iframe{
    display:block!important;
    width:100%!important;
    min-height:700px!important;
    height:100%!important;
    border:0!important;
    background:#fff!important;
}

@media(max-width:640px){
    .bbp-payment-modal{
        align-items:flex-end;
        padding:0;
    }

    .bbp-payment-modal-dialog{
        width:100%;
        max-height:96vh;
        border-radius:18px 18px 0 0;
    }

    .bbp-payment-modal .bbp-sanalpospro-frame{
        height:calc(96vh - 72px);
        min-height:620px;
    }

    .bbp-payment-modal .bbp-sanalpospro-frame iframe{
        min-height:720px!important;
    }
}

/* v3.0.9: yalnızca SanalPosPro kart ekranı görünür */
.bbp-payment-modal-dialog{
    width:min(620px,96vw)!important;
    max-height:92vh!important;
    padding:0!important;
    background:#fff!important;
}

.bbp-payment-modal-header,
.bbp-payment-modal-close{
    display:none!important;
}

.bbp-payment-modal .bbp-sanalpospro-frame{
    height:min(820px,92vh)!important;
    min-height:680px!important;
    margin:0!important;
    padding:0!important;
    overflow:auto!important;
    border:0!important;
    border-radius:18px!important;
    background:#fff!important;
}

.bbp-payment-modal .bbp-sanalpospro-frame > *:not(iframe){
    display:none!important;
}

.bbp-payment-modal .bbp-sanalpospro-frame iframe{
    display:block!important;
    width:100%!important;
    height:min(820px,92vh)!important;
    min-height:680px!important;
    margin:0!important;
    border:0!important;
    border-radius:18px!important;
    background:#fff!important;
}

@media(max-width:640px){
    .bbp-payment-modal-dialog{
        width:100%!important;
        max-height:96vh!important;
        border-radius:18px 18px 0 0!important;
    }

    .bbp-payment-modal .bbp-sanalpospro-frame,
    .bbp-payment-modal .bbp-sanalpospro-frame iframe{
        height:96vh!important;
        min-height:720px!important;
        border-radius:18px 18px 0 0!important;
    }
}

/* v3.0.10: iframe görünürlüğü ve modal yeniden açma düzeltmesi */
.bbp-payment-modal{
    padding-top:max(24px,env(safe-area-inset-top))!important;
    padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
}

.bbp-payment-modal-dialog{
    display:block!important;
    width:min(620px,94vw)!important;
    height:min(820px,88vh)!important;
}

.bbp-payment-modal .bbp-sanalpospro-frame{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:auto!important;
}

.bbp-payment-modal .bbp-sanalpospro-frame > iframe{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:700px!important;
    border:0!important;
}

@media(max-width:640px){
    .bbp-payment-modal-dialog{
        width:100%!important;
        height:94vh!important;
    }

    .bbp-payment-modal .bbp-sanalpospro-frame > iframe{
        min-height:760px!important;
    }
}

/* v3.1.0: çocuk yaşları ve kişi fiyatlandırması */
.bbp-child-selector{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.bbp-child-selector > label{
    width:100%;
}

.bbp-child-ages{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    width:100%;
}

.bbp-child-ages[hidden]{
    display:none!important;
}

.bbp-child-age-field{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.bbp-child-age-field span{
    color:#6b7280;
    font-size:10px!important;
    line-height:1.2;
}

.bbp-child-age-field select{
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    padding:0 8px!important;
    font-size:12px!important;
}

.bbp-child-free-note{
    color:#64748b;
    font-size:10px;
    line-height:1.3;
}

.bbp-capacity-rule{
    display:block;
    margin-top:7px;
    color:#6b7280;
    font-size:11px;
    line-height:1.35;
}

.bbp-extra-price-note{
    display:block;
    margin-top:6px;
    color:#b45309;
    font-size:11px;
    font-weight:700;
}

.bbp-free-child-note{
    color:#15803d;
}

@media(max-width:720px){
    .bbp-child-ages{
        grid-template-columns:1fr;
    }
}

/* v3.1.1: bozulmayan çocuk yaş paneli */
.bbp-search-form{
    overflow:visible!important;
}

.bbp-child-selector{
    position:relative!important;
    align-self:stretch;
    display:block!important;
    min-width:0;
}

.bbp-child-selector > label{
    display:flex!important;
    flex-direction:column;
    height:100%;
}

.bbp-child-age-toggle{
    width:100%;
    min-height:34px;
    margin-top:7px;
    padding:7px 10px;
    border:1px solid #dfe3e8;
    border-radius:9px;
    background:#f8fafc;
    color:#475569;
    font-size:11px;
    text-align:left;
    cursor:pointer;
}

.bbp-child-age-toggle[hidden]{
    display:none!important;
}

.bbp-child-ages{
    position:absolute!important;
    top:calc(100% + 8px);
    left:0;
    z-index:9999;
    display:none!important;
    grid-template-columns:repeat(2,minmax(120px,1fr));
    gap:10px;
    width:min(360px,80vw);
    max-height:310px;
    overflow:auto;
    padding:14px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    box-shadow:0 18px 45px rgba(15,23,42,.18);
}

.bbp-child-selector.is-open .bbp-child-ages{
    display:grid!important;
}

.bbp-child-age-field{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:5px;
}

.bbp-child-age-field span{
    color:#475569!important;
    font-size:11px!important;
    font-weight:700;
}

.bbp-child-age-field select{
    width:100%!important;
    height:42px!important;
    min-width:0!important;
    padding:0 9px!important;
    border:1px solid #d7dde5!important;
    border-radius:8px!important;
    background:#fff!important;
    font-size:12px!important;
}

.bbp-child-free-note{
    display:block;
    margin-top:6px;
    color:#64748b;
    font-size:10px;
}

@media(max-width:720px){
    .bbp-child-ages{
        position:fixed!important;
        left:16px!important;
        right:16px!important;
        bottom:16px!important;
        top:auto!important;
        width:auto!important;
        max-height:60vh;
        grid-template-columns:1fr 1fr;
        z-index:999999;
    }
}

/* v3.1.2: daha zarif arama alanı ve tarih ikonları */
.bbp-search-form{
    width:min(1240px,100%);
    margin:0 auto;
    grid-template-columns:1.15fr 1.15fr .75fr .75fr auto!important;
    gap:12px!important;
    padding:16px!important;
    border-radius:16px!important;
    align-items:stretch!important;
}

.bbp-search-form > label,
.bbp-search-form .bbp-child-selector > label{
    min-height:82px!important;
    padding:12px 14px!important;
    border-radius:12px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}

.bbp-search-form label span{
    margin-bottom:7px!important;
    font-size:12px!important;
}

.bbp-search-form input,
.bbp-search-form select{
    min-height:30px!important;
    padding:0!important;
    font-size:16px!important;
    line-height:1.3!important;
}

.bbp-search-form > button{
    min-width:210px!important;
    min-height:82px!important;
    padding:0 22px!important;
    border-radius:12px!important;
    font-size:14px!important;
    letter-spacing:.01em;
}

.bbp-date-input-wrap{
    position:relative;
    display:flex;
    align-items:center;
    min-width:0;
}

.bbp-date-input-wrap input{
    padding-right:34px!important;
}

.bbp-date-icon{
    position:absolute;
    right:2px;
    width:21px;
    height:21px;
    fill:none;
    stroke:#7c8798;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}

.bbp-date-input-wrap input::-webkit-calendar-picker-indicator{
    opacity:0;
    position:absolute;
    right:0;
    width:32px;
    height:100%;
    cursor:pointer;
}

.bbp-child-age-toggle{
    min-height:30px!important;
    margin-top:5px!important;
    padding:5px 8px!important;
    border-radius:8px!important;
    font-size:10px!important;
}

.bbp-child-free-note{
    margin-top:4px!important;
    font-size:9px!important;
}

@media(max-width:1050px){
    .bbp-search-form{
        grid-template-columns:1fr 1fr 1fr!important;
    }

    .bbp-search-form > button{
        min-height:66px!important;
    }
}

@media(max-width:720px){
    .bbp-search-form{
        grid-template-columns:1fr 1fr!important;
        padding:12px!important;
    }

    .bbp-search-form > label,
    .bbp-search-form .bbp-child-selector > label,
    .bbp-search-form > button{
        min-height:70px!important;
    }

    .bbp-search-form > button{
        grid-column:1/-1;
        width:100%;
    }
}

@media(max-width:480px){
    .bbp-search-form{
        grid-template-columns:1fr!important;
    }

    .bbp-search-form > button{
        grid-column:auto;
    }
}

/* v3.1.3: premium kompakt yatay arama çubuğu */
.bbp-search-form{
    width:min(1320px,100%);
    margin:0 auto;
    display:grid!important;
    grid-template-columns:1.15fr 1.15fr .72fr .72fr auto!important;
    gap:10px!important;
    align-items:stretch!important;
    padding:10px!important;
    border-radius:14px!important;
    background:#fff!important;
}

.bbp-search-form > label,
.bbp-search-form .bbp-child-selector > label{
    min-height:72px!important;
    height:72px!important;
    padding:9px 12px!important;
    border-radius:10px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}

.bbp-search-form label span{
    margin:0 0 4px!important;
    font-size:11px!important;
    line-height:1.1!important;
}

.bbp-search-form input,
.bbp-search-form select{
    min-height:26px!important;
    height:26px!important;
    padding:0!important;
    font-size:15px!important;
    line-height:1.2!important;
}

.bbp-search-form > button{
    min-width:220px!important;
    min-height:72px!important;
    height:72px!important;
    padding:0 20px!important;
    border-radius:10px!important;
    font-size:13px!important;
    line-height:1.2!important;
    white-space:nowrap;
}

.bbp-date-input-wrap{
    min-height:26px!important;
}

.bbp-date-input-wrap input{
    padding-right:28px!important;
}

.bbp-date-icon{
    width:18px!important;
    height:18px!important;
    right:0!important;
}

.bbp-child-selector{
    min-height:72px!important;
    height:72px!important;
}

.bbp-child-age-toggle{
    position:absolute!important;
    left:0!important;
    top:calc(100% + 6px)!important;
    width:auto!important;
    min-height:28px!important;
    margin:0!important;
    padding:5px 9px!important;
    border-radius:8px!important;
    font-size:10px!important;
    white-space:nowrap;
}

.bbp-child-free-note{
    display:none!important;
}

@media(max-width:1050px){
    .bbp-search-form{
        grid-template-columns:1fr 1fr 1fr!important;
    }

    .bbp-search-form > button{
        min-width:0!important;
    }
}

@media(max-width:720px){
    .bbp-search-form{
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
        padding:8px!important;
    }

    .bbp-search-form > label,
    .bbp-search-form .bbp-child-selector > label,
    .bbp-search-form > button,
    .bbp-child-selector{
        min-height:64px!important;
        height:64px!important;
    }

    .bbp-search-form > button{
        grid-column:1/-1;
        width:100%!important;
    }
}

@media(max-width:480px){
    .bbp-search-form{
        grid-template-columns:1fr!important;
    }

    .bbp-search-form > button{
        grid-column:auto;
    }
}
