/* Basic layout to match your screenshot feel */
.ctb-container * {
    box-sizing: border-box !important;
}

.ctb-container input,
.ctb-container select,
.ctb-container textarea,
.ctb-container button {
    box-sizing: border-box !important;
}

.ctb-container{ max-width:980px; margin:20px auto; padding:20px; font-family:inherit; color:#222; }
.ctb-heading{ font-size:20px; margin:0 0 8px 0; font-weight:700; color: black; }
.ctb-label{ font-size:12px; font-weight:700; color:#666; display:block; margin:14px 0 6px; }
.ctb-select{ width:100%; padding:14px 16px; border-radius:8px; border:1px solid #e6e6e6; background:#fff; font-size:15px;     background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='18' viewBox='0 0 24 24' width='18' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
    padding-right: 40px;
    appearance: none;}
.ctb-people-control{ display:flex; align-items:center; gap:12px; margin:10px 0 16px; }
.ctb-main-dec, .ctb-main-inc, .ctb-people-dec, .ctb-people-inc{ color:black !important; width:50px !important; height:50px !important; border-radius:50px !important; border:1px solid rgba(30,30,30,0.08) !important; background:#fff; font-size:24px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center;}
.ctb-main-dec:hover, .ctb-main-inc:hover, .ctb-people-dec:hover, .ctb-people-inc:hover{background: #6DC0AE !important;}
.ctb-quantity-input{ width:72px !important; text-align:center; padding:12px; border-radius:8px !important; border:1px solid rgba(30,30,30,0.08) !important; font-size:16px; pointer-events: none !important;}
.ctb-sep{ border:0; border-top:1px solid #efefef; margin:20px 0 !important; }
.ctb-sub{ color:#444; margin:6px 0 12px; }
.ctb-message{ width:100%; min-height:80px; border:1px solid #eee; padding:12px; border-radius:6px; }
.ctb-button-wrap{ margin-top:20px; }
.ctb-continue{ display:block; width:100%; text-align:center; padding:18px; background:#0a0a0a; color:#fff; border-radius:40px; font-size:16px; border:none; cursor:pointer; }
.ctb-addons-area{ margin-top:8px;}

/* Addon number field styled like people selector */
.ctb-addon-control {
    display:flex;
    align-items:center;
    gap:12px;
    margin:10px 0 16px;
}

.ctb-addon-dec,
.ctb-addon-inc {
    color:black !important;
    width:50px !important;
    height:50px !important;
    border-radius:50px !important;
    border:1px solid rgba(30,30,30,0.08) !important;
    background:#fff;
    font-size:1rem;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    user-select:none;
}

.ctb-addon-dec:hover,
.ctb-addon-inc:hover, .ctb-addon-dec:focus,
.ctb-addon-inc:focus {
    background: #6DC0AE;
}

.ctb-quantity-input {
    width:72px !important;
    text-align:center;
    padding:12px;
    border-radius:8px;
    border:1px solid rgba(30,30,30,0.08) !important;
    font-size:16px;
    pointer-events:none !important;
    height: 42px !important;
}

#addon-1163-0{
    width:72px !important; text-align:center; padding:12px; border-radius:8px; border:1px solid rgba(30,30,30,0.08) !important; font-size:16px; pointer-events: none !important;
}

#addon-1163-1{    
    width: 100%;
    padding: 14px 16px;
    border-radius: 8px;
    border: 1px solid #e6e6e6 !important;
    font-size: 15px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    line-height: 1.4;
    background-image: url("data:image/svg+xml;utf8,<svg fill='%23666' height='18' viewBox='0 0 24 24' width='18' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
    padding-right: 40px;
}

#addon-1163-2{border: 1px solid #e6e6e6 !important;}

.ctb-button-wrap button{
    width: 100% !important; display:block; text-align:center; padding:18px; background:#0a0a0a; color:#fff; border-radius:40px; font-size:16px; border:none; cursor:pointer; font-family: Sora;
}

.ctb-button-wrap button:hover{background-color: #6DC0AE;}

.wc-pao-addons-container label{
    font-size:12px; font-weight:700; color:#666; display:block; margin:14px 0 6px; text-transform: uppercase;
}

.ctb-price-widget{
    font-family: "Sora";
    font-size: 15px;
    font-weight: 500;
    color: black;
}

/* === Payment option styles === */
.ctb-payment-box { margin-top: 18px; }
.ctb-pay-option {
    border: 1px solid #e6e6e6;
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 10px;
    display:flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    background: #fff;
    transition: 160ms ease;
}
.ctb-pay-option .ctb-pay-left { display:flex; align-items:center; gap:10px; }
.ctb-pay-option .ctb-deposit-amount { font-weight:700 !important; font-size:16px !important; }
.ctb-pay-option .ctb-pay-by {font-size:12px; color:#666; margin-top: 0 !important;}
.ctb-pay-option.ctb-pay-selected { border-color: #111; box-shadow: 0 0 0 2px rgba(0,0,0,0.03) inset; background:#fbfbfb; }

/* === Tour Type Radio Buttons - Styled like Payment Options === */
/* Reset WooCommerce addon wrapper */
.ctb-addons-area .wc-pao-addon-wrap,
.ctb-addons-area .form-row-wide {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Style each radio option container */
.ctb-addons-area .wc-pao-addon-1163-1 {
    border: 0 !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    transition: 160ms ease !important;
    cursor: pointer !important;
    position: relative !important;
    display: block !important;
}

.ctb-addons-area .wc-pao-addon-1163-1:not(.wc-pao-addon-id-1763740742) {
    border: 1px solid #e6e6e6 !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    transition: 160ms ease !important;
    cursor: pointer !important;
    position: relative !important;
    display: block !important;
}

.ctb-addons-area .wc-pao-addon-1163-1:hover {
    border-color: #ccc !important;
}

/* Hide the default radio button visually but keep it functional */
.ctb-addons-area .wc-pao-addon-1163-1 input[type="radio"].wc-pao-addon-radio {
    position: absolute !important;
    opacity: 0 !important;
    width: 20px !important;
    height: 20px !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
}

/* Style the label as the main clickable area */
.ctb-addons-area .wc-pao-addon-1163-1 label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 32px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #222 !important;
    text-transform: none !important;
    position: relative !important;
    line-height: 1.4 !important;
}

/* Custom radio button circle (visual only) */
.ctb-addons-area .wc-pao-addon-1163-1 label::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #ddd !important;
    border-radius: 50% !important;
    background: #fff !important;
    transition: 160ms ease !important;
    pointer-events: none !important;
}

/* Inner dot when checked (visual only) */
.ctb-addons-area .wc-pao-addon-1163-1 input[type="radio"]:checked + label::before {
    border-color: #111 !important;
    background: #fff !important;
}

.ctb-addons-area .wc-pao-addon-1163-1 input[type="radio"]:checked + label::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: #111 !important;
    pointer-events: none !important;
}

/* Selected state styling for the container */
.ctb-addons-area .wc-pao-addon-1163-1:not(.wc-pao-addon-id-1763740742):has(input[type="radio"]:checked) {
    border-color: #111 !important;
    box-shadow: 0 0 0 2px rgba(0,0,0,0.03) inset !important;
    background: #fbfbfb !important;
}


/* Price badge styling */
.ctb-addons-area .wc-pao-addon-1163-1 .wc-pao-addon-price {
    font-weight: 700 !important;
    font-size: 16px !important;
    color: #222 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ctb-addons-area .wc-pao-addon-1163-1 .woocommerce-Price-amount {
    font-weight: 700 !important;
}

.ctb-addons-area .wc-pao-addon-1163-1 .woocommerce-Price-amount bdi {
    font-weight: 700 !important;
}

/* Make sure the price stays on the right */
.ctb-addons-area .wc-pao-addon-1163-1 label > span.wc-pao-addon-price {
    margin-left: auto !important;
}

/* Small responsive */
@media (max-width:720px){ 
    .ctb-container{ padding:14px } 
    
    .ctb-addons-area .wc-pao-addon-1163-1 label {
        font-size: 14px !important;
    }
    
    .ctb-addons-area .wc-pao-addon-1163-1 .wc-pao-addon-price {
        font-size: 14px !important;
    }
}