.rk-booking 500&family=Bebas+Neue&family=DM+Sans:wght@300;400;500;600&display=swap');

  *,.rk-booking *::before,.rk-booking *::after{ box-sizing: border-box; margin: 0; padding: 0; }.rk-booking{
    --bg:        #0c0c0e;
    --surface:   #141417;
    --surface2:  #1c1c20;
    --border:    #2a2a30;
    --border-hi: #3a3a44;
    --accent:    #d9fa7c;
    --accent2:   #bcd964;
    --text:      #e8e6e0;
    --muted:     #7a7870;
    --success:   #5a9e6f;
    --danger:    #c45a5a;
    --radius:    6px;
  }.rk-booking{
    background: var(--bg);
    color: var(--text);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    min-height: 100vh;
  }.rk-booking .widget-wrap{
    max-width: 600px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 40px 20px 80px;
    box-sizing: border-box;
  }.rk-booking .widget-wrap > .header,.rk-booking .widget-wrap > .steps,.rk-booking .widget-wrap > .panel,.rk-booking .widget-wrap > #success-panel{
    max-width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
  }.rk-booking .header{
    text-align: center;
    margin-bottom: 32px;
  }.rk-booking .header .eyebrow{
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 12px;
  }.rk-booking .header h1{
    font-family: 'Manrope', sans-serif;
    font-size: clamp(2.6rem, 6vw, 4.2rem);
    letter-spacing: 0.06em;
    color: var(--text);
    line-height: 1;
  }.rk-booking .header p{
    color: var(--muted);
    margin-top: 12px;
    font-size: 14px;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
  }.rk-booking .steps{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 32px;
    flex-wrap: wrap;
  }.rk-booking .step{ display: flex; align-items: center; gap: 10px; }.rk-booking .step-num{
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 1.5px solid var(--border);
    display: flex; align-items: center; justify-content: center;
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    color: var(--muted);
    transition: all 0.3s;
  }.rk-booking .step.active .step-num{
    border-color: var(--accent);
    background: var(--accent);
    color: #0c0c0e;
  }.rk-booking .step.done .step-num{
    border-color: var(--success);
    background: var(--success);
    color: #fff;
  }.rk-booking .step-label{
    font-size: 12px;
    color: var(--muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 500;
  }.rk-booking .step.active .step-label{ color: var(--accent); }.rk-booking .step.done .step-label{ color: var(--success); }.rk-booking .step-connector{
    width: 40px; height: 1px;
    background: var(--border);
    margin: 0 8px;
  }@media (max-width: 640px){.rk-booking .step-label{ display: none; }.rk-booking .step-connector{ width: 24px; }}.rk-booking .panel{
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    margin-bottom: 16px;
    display: none;
  }.rk-booking .panel.active{ display: block; }.rk-booking .panel-header{
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 12px;
  }.rk-booking .panel-header .icon{
    width: 32px; height: 32px;
    background: rgba(217,250,124,0.1);
    border: 1px solid rgba(217,250,124,0.2);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
  }.rk-booking .panel-header h2{
    font-family: 'DM Mono', monospace;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text);
  }.rk-booking .panel-body{ padding: 22px; }.rk-booking .btn{
    background: var(--accent);
    color: #0c0c0e;
    border: none;
    border-radius: var(--radius);
    padding: 11px 20px;
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }.rk-booking .btn:hover:not(:disabled){ background: var(--accent2); transform: translateY(-1px); }.rk-booking .btn:disabled{ opacity: 0.35; cursor: not-allowed; }.rk-booking .btn-ghost{
    background: transparent;
    color: var(--muted);
    border: 1px solid var(--border);
  }.rk-booking .btn-ghost:hover:not(:disabled){
    background: var(--surface2);
    color: var(--text);
    border-color: var(--border-hi);
  }.rk-booking .btn-outline{
    background: transparent;
    color: var(--accent);
    border: 1px solid rgba(217,250,124,0.4);
  }.rk-booking .btn-outline:hover:not(:disabled){
    background: rgba(217,250,124,0.08);
    border-color: var(--accent);
  }.rk-booking .btn-success{
    background: var(--success);
    color: #fff;
  }.rk-booking .btn-success:hover:not(:disabled){ background: #4a8e5f; transform: translateY(-1px); }.rk-booking .search-row{
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
  }.rk-booking .search-input-wrap{
    flex: 1;
    position: relative;
  }.rk-booking .search-input-wrap input{
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    padding: 11px 14px;
    outline: none;
    transition: border-color 0.2s;
  }.rk-booking .search-input-wrap input:focus{ border-color: var(--accent); }.rk-booking .search-input-wrap input::placeholder{ color: var(--muted); }.rk-booking .autocomplete-dropdown{
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: var(--surface);
    border: 1px solid var(--border-hi);
    border-radius: var(--radius);
    max-height: 280px;
    overflow-y: auto;
    z-index: 100;
    display: none;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
  }.rk-booking .autocomplete-dropdown.visible{ display: block; }.rk-booking .ac-item{
    padding: 10px 14px;
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s;
  }.rk-booking .ac-item:hover,.rk-booking .ac-item.active{ background: var(--surface2); }.rk-booking .ac-item:last-child{ border-bottom: none; }.rk-booking .ac-item .ai-main{
    color: var(--text);
    font-size: 13px;
    font-weight: 500;
  }.rk-booking .ac-item .ai-sub{
    color: var(--muted);
    font-size: 11px;
    margin-top: 2px;
    font-family: 'DM Mono', monospace;
  }.rk-booking .ac-empty{
    padding: 14px;
    text-align: center;
    color: var(--muted);
    font-size: 12px;
    font-style: italic;
  }.rk-booking .draw-banner{
    display: none;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
    padding: 14px 18px;
    background: rgba(217,250,124,0.1);
    border: 1.5px solid var(--accent);
    border-radius: var(--radius);
    font-size: 13px;
    color: var(--text);
    animation: pulse-border 1.8s ease-in-out infinite;
  }.rk-booking .draw-banner.visible{ display: flex; }.rk-booking .draw-banner .db-icon{ font-size: 18px; flex-shrink: 0; }@keyframes pulse-border{
    0%, 100% { box-shadow: 0 0 0 0 rgba(217,250,124,0.4); }
    50% { box-shadow: 0 0 0 6px rgba(217,250,124,0); }
  }.rk-booking #map{
    width: 100%;
    height: 460px;
    border-radius: var(--radius);
    border: 1px solid var(--border);
    overflow: hidden;
    position: relative;
  }.rk-booking .map-toolbar{
    display: flex;
    gap: 10px;
    margin-top: 14px;
    flex-wrap: wrap;
  }.rk-booking .map-hint{
    font-size: 12px;
    color: var(--muted);
    margin-top: 12px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 14px;
    background: var(--surface2);
    border-left: 2px solid var(--accent);
    border-radius: 0 4px 4px 0;
    line-height: 1.5;
  }.rk-booking .map-hint .dot{
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--accent);
    flex-shrink: 0;
    margin-top: 6px;
  }.rk-booking #selected-card{
    display: none;
    margin-top: 16px;
    background: var(--bg);
    border: 1px solid rgba(217,250,124,0.25);
    border-radius: var(--radius);
    padding: 16px 18px;
  }.rk-booking #selected-card.visible{ display: block; }.rk-booking .selected-label{
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 6px;
  }.rk-booking #selected-address{ font-size: 15px; font-weight: 500; }.rk-booking #selected-meta{
    font-size: 12px;
    color: var(--muted);
    font-family: 'DM Mono', monospace;
    margin-top: 4px;
  }.rk-booking #boundary-status{
    font-size: 12px;
    color: var(--muted);
    margin-top: 8px;
    font-family: 'DM Mono', monospace;
  }.rk-booking #boundary-status.has{ color: var(--success); }.rk-booking .focus-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 18px;
  }.rk-booking .focus-grid-2{
    grid-template-columns: repeat(2, 1fr);
  }@media (max-width: 640px){.rk-booking .focus-grid{ grid-template-columns: 1fr; }.rk-booking .focus-grid-2{ grid-template-columns: 1fr; }}.rk-booking .focus-card{
    background: var(--bg);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 18px 16px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
    position: relative;
  }.rk-booking .focus-card:hover{
    border-color: var(--border-hi);
    background: var(--surface2);
  }.rk-booking .focus-card.disabled{
    opacity: 0.4;
    cursor: not-allowed;
    background: var(--surface) !important;
    border-color: var(--border) !important;
  }.rk-booking .focus-card.disabled:hover{
    border-color: var(--border) !important;
    background: var(--surface) !important;
    transform: none;
  }.rk-booking .focus-card.selected{
    border-color: var(--accent);
    background: rgba(217,250,124,0.06);
  }.rk-booking .focus-card.selected::after{
    content: '✓';
    position: absolute;
    top: 8px;
    right: 10px;
    color: var(--accent);
    font-weight: bold;
    font-size: 14px;
  }.rk-booking .focus-card .fc-icon{
    font-size: 26px;
    margin-bottom: 8px;
    display: block;
  }.rk-booking .focus-card .fc-title{
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 4px;
  }.rk-booking .focus-card .fc-desc{
    font-size: 12px;
    color: var(--muted);
    line-height: 1.4;
  }.rk-booking .bundle-card{
    background: linear-gradient(135deg, rgba(217,250,124,0.07), rgba(20,20,23,0.5));
    border: 1px solid rgba(217,250,124,0.3);
    border-radius: var(--radius);
    padding: 20px 22px;
    margin-bottom: 22px;
    position: relative;
  }.rk-booking .bundle-eyebrow{
    display: inline-block;
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.15em;
    color: #0c0c0e;
    background: var(--accent);
    padding: 3px 8px;
    border-radius: 3px;
    text-transform: uppercase;
    margin-bottom: 10px;
    font-weight: 500;
  }.rk-booking .bundle-title{
    font-family: 'Manrope', sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    color: var(--text);
    margin: 0 0 8px;
    line-height: 1.05;
  }.rk-booking .bundle-desc{
    font-size: 13px;
    color: var(--muted);
    line-height: 1.55;
    margin: 0 0 14px;
  }.rk-booking .bundle-form{
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed rgba(217,250,124,0.2);
    display: none;
  }.rk-booking .bundle-form.visible{
    display: block;
  }.rk-booking .bundle-form .field label{
    color: var(--accent);
  }.rk-booking .bundle-pkg-label{
    display: block;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 10px;
  }.rk-booking .bundle-pkg-label .req{
    color: var(--accent);
    margin-left: 2px;
  }.rk-booking .package-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 8px;
  }@media (max-width: 540px){.rk-booking .package-grid{ grid-template-columns: 1fr; }}.rk-booking .package-card{
    background: var(--bg);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 12px 12px;
    cursor: pointer;
    transition: all 0.2s;
    text-align: center;
    position: relative;
  }.rk-booking .package-card:hover{
    border-color: var(--border-hi);
    background: var(--surface2);
  }.rk-booking .package-card.selected{
    border-color: var(--accent);
    background: rgba(217,250,124,0.06);
  }.rk-booking .package-card.selected::after{
    content: '✓';
    position: absolute;
    top: 6px;
    right: 8px;
    color: var(--accent);
    font-weight: bold;
    font-size: 12px;
  }.rk-booking .pkg-icon{
    font-size: 22px;
    margin-bottom: 6px;
    display: block;
  }.rk-booking .pkg-title{
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 6px;
  }.rk-booking .pkg-meta{
    font-size: 11px;
    color: var(--muted);
    line-height: 1.35;
    margin-bottom: 8px;
    min-height: 30px;
  }.rk-booking .pkg-price{
    font-family: 'Manrope', sans-serif;
    font-size: 1.2rem;
    color: var(--accent);
    letter-spacing: 0.02em;
    line-height: 1;
  }.rk-booking .pkg-strike{
    text-decoration: line-through;
    color: var(--muted);
    font-size: 0.7rem;
    margin-left: 4px;
    font-family: 'DM Sans', sans-serif;
  }.rk-booking .pkg-up{
    font-size: 10px;
    color: var(--accent);
    margin-left: 4px;
    font-family: 'DM Mono', monospace;
    letter-spacing: 0.05em;
  }.rk-booking .future-date-picker{
    position: relative;
    background: var(--bg);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.2s;
    min-height: 52px;
  }.rk-booking .future-date-picker:hover{
    border-color: var(--border-hi);
    background: var(--surface2);
  }.rk-booking .future-date-picker.has-value{
    border-color: var(--accent);
    background: rgba(217, 250, 124, 0.06);
  }.rk-booking .fdp-icon{ font-size: 22px; flex-shrink: 0; line-height: 1; }.rk-booking .fdp-text{
    flex: 1;
    font-size: 14px;
    color: var(--muted);
    font-weight: 500;
  }.rk-booking .future-date-picker.has-value .fdp-text{
    color: var(--text);
    font-family: 'DM Mono', monospace;
    letter-spacing: 0.02em;
  }.rk-booking .future-date-picker input[type="date"]{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 16px;
    color-scheme: dark;
    padding: 0;
  }.rk-booking .future-date-picker input[type="date"]::-webkit-calendar-picker-indicator{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    opacity: 0;
  }.rk-booking .out-of-range-warning{
    margin-top: 16px;
    padding: 16px 18px;
    background: rgba(196, 90, 90, 0.08);
    border: 1px solid rgba(196, 90, 90, 0.4);
    border-left: 3px solid var(--danger);
    border-radius: var(--radius);
  }.rk-booking .out-of-range-warning .oor-title{
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--danger);
    font-weight: 500;
    margin-bottom: 8px;
  }.rk-booking .out-of-range-warning .oor-body{
    color: var(--text);
    font-size: 13px;
    line-height: 1.55;
  }.rk-booking .out-of-range-warning .oor-body strong{
    color: var(--accent);
  }.rk-booking #out-of-range-section .form-grid .field label{
    color: var(--muted);
  }.rk-booking .oor-success{
    margin-top: 16px;
    padding: 18px 20px;
    background: rgba(90, 158, 111, 0.08);
    border: 1px solid rgba(90, 158, 111, 0.45);
    border-left: 3px solid var(--success);
    border-radius: var(--radius);
    color: var(--text);
    font-size: 14px;
    line-height: 1.55;
  }.rk-booking .oor-success strong{
    color: var(--success);
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 6px;
  }.rk-booking .form-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }@media (max-width: 560px){.rk-booking .form-grid{ grid-template-columns: 1fr; }}.rk-booking .form-full{ grid-column: 1 / -1; }.rk-booking .field label{
    display: block;
    font-size: 11px;
    font-family: 'DM Mono', monospace;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 6px;
  }.rk-booking .field label .req{ color: var(--accent); margin-left: 2px; }.rk-booking .field input,.rk-booking .field select,.rk-booking .field textarea{
    width: 100%;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    padding: 11px 14px;
    outline: none;
    transition: border-color 0.2s;
  }.rk-booking .field input:focus,.rk-booking .field select:focus,.rk-booking .field textarea:focus{ border-color: var(--accent); }.rk-booking .field select option{ background: var(--surface); }.rk-booking .field textarea{ resize: vertical; min-height: 100px; }.rk-booking .field .hint{
    font-size: 11px;
    color: var(--muted);
    margin-top: 6px;
    font-style: italic;
  }.rk-booking .info-strip{
    background: linear-gradient(135deg, rgba(217,250,124,0.08), rgba(217,250,124,0.02));
    border: 1px solid rgba(217,250,124,0.18);
    border-radius: var(--radius);
    padding: 16px 18px;
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }@media (max-width: 540px){.rk-booking .info-strip{ grid-template-columns: 1fr; }}.rk-booking .info-item .ii-label{
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 4px;
  }.rk-booking .info-item .ii-val{
    font-size: 13px;
    color: var(--text);
  }.rk-booking .property-summary-box{
    background: var(--bg);
    border: 1px solid rgba(217,250,124,0.2);
    border-radius: var(--radius);
    padding: 14px 16px;
    margin-bottom: 18px;
  }.rk-booking .property-summary-box .ps-label{
    font-family: 'DM Mono', monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 4px;
  }.rk-booking .property-summary-box .ps-val{ font-size: 14px; color: var(--text); }.rk-booking .quote-card{
    background: linear-gradient(160deg, var(--surface2), var(--surface));
    border: 1px solid var(--accent);
    border-radius: var(--radius);
    padding: 24px 22px;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
  }.rk-booking .quote-card::before{
    content: '';
    position: absolute;
    top: 0; right: 0;
    width: 120px; height: 120px;
    background: radial-gradient(circle, rgba(217,250,124,0.12) 0%, transparent 70%);
    pointer-events: none;
  }.rk-booking .quote-card .qc-eyebrow{
    font-family: 'DM Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 14px;
  }.rk-booking .qc-row{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(217,250,124,0.1);
    font-size: 14px;
  }.rk-booking .qc-row:last-of-type{ border-bottom: none; }.rk-booking .qc-row .qc-key{ color: var(--muted); }.rk-booking .qc-row .qc-val{ color: var(--text); text-align: right; max-width: 65%; }.rk-booking .qc-total{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1.5px solid var(--accent);
  }.rk-booking .qc-total .qc-tlabel{
    font-family: 'DM Mono', monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--accent);
  }.rk-booking .qc-total .qc-tprice{
    font-family: 'Manrope', sans-serif;
    font-size: 2.6rem;
    color: var(--accent);
    letter-spacing: 0.02em;
    line-height: 1;
  }.rk-booking .qc-deliverables{
    margin-top: 16px;
    padding: 12px 14px;
    background: rgba(0,0,0,0.25);
    border-radius: 4px;
    font-size: 12px;
    color: var(--muted);
    line-height: 1.6;
  }.rk-booking .qc-deliverables strong{ color: var(--text); font-weight: 500; }.rk-booking .action-row{
    display: flex;
    gap: 10px;
    margin-top: 20px;
    flex-wrap: wrap;
  }.rk-booking #success-panel{
    display: none;
    text-align: center;
    padding: 70px 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
  }.rk-booking #success-panel.visible{ display: block; }.rk-booking .success-icon{
    font-size: 52px;
    margin-bottom: 18px;
  }.rk-booking #success-panel h2{
    font-family: 'Manrope', sans-serif;
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    color: var(--accent);
    margin-bottom: 12px;
  }.rk-booking #success-panel p{
    color: var(--muted);
    font-size: 14px;
    max-width: 440px;
    margin: 0 auto 8px;
  }.rk-booking #success-panel .success-quote{
    margin-top: 24px;
    display: inline-block;
    padding: 10px 20px;
    background: var(--bg);
    border: 1px solid rgba(217,250,124,0.3);
    border-radius: var(--radius);
    font-family: 'DM Mono', monospace;
    font-size: 13px;
    color: var(--accent);
  }.rk-booking #notify{
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 12px 18px;
    font-size: 13px;
    color: var(--text);
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.3s;
    z-index: 9999;
    pointer-events: none;
    max-width: 320px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  }.rk-booking #notify.show{ opacity: 1; transform: translateY(0); }.rk-booking #notify.err{ border-color: var(--danger); color: var(--danger); }.rk-booking #notify.ok{ border-color: var(--success); }.rk-booking .spinner{
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(0,0,0,0.2);
    border-top-color: #0c0c0e;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
  }@keyframes spin{ to { transform: rotate(360deg); } }.rk-booking .mapboxgl-ctrl-logo{ display: none !important; }.rk-booking .mapboxgl-ctrl-attrib{
    background: rgba(20,20,23,0.85) !important;
    color: var(--muted) !important;
    font-size: 10px !important;
  }.rk-booking .mapboxgl-ctrl-attrib a{ color: var(--muted) !important; }.rk-booking .mapboxgl-popup-content{
    background: var(--surface) !important;
    color: var(--text) !important;
    border: 1px solid var(--border) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
  }.rk-booking .mapboxgl-popup-tip{ display: none !important; }.rk-booking .mapboxgl-ctrl-group:has(.mapbox-gl-draw_polygon){ display: none !important; }
.rk-booking{--bg:#111310;--surface:#1b1e18;--surface2:#252920;--border:#35372f;--border-hi:#607040;--text:#f2f0e9;--muted:#aaa99f;min-height:0;font-family:'DM Sans',sans-serif}.rk-booking .widget-wrap{max-width:1100px!important;padding:0 0 40px}.rk-booking .widget-wrap>.header,.rk-booking .widget-wrap>.steps,.rk-booking .widget-wrap>.panel,.rk-booking .widget-wrap>#success-panel{max-width:1000px!important}.rk-booking .header{text-align:left;margin-bottom:50px}.rk-booking .header h1{font-size:clamp(48px,6.5vw,90px);font-weight:400;letter-spacing:-.055em}.rk-booking .header p{margin:22px 0;max-width:650px;font-size:17px}.rk-booking .steps{justify-content:flex-start;margin:36px 0}.rk-booking .panel{border-radius:14px;overflow:hidden}.rk-booking .panel-header{padding:28px}.rk-booking .panel-body{padding:28px}.rk-world .rk-booking .btn{padding:13px 24px;border-radius:40px;background:var(--accent);color:#17220d;font-size:14px}.rk-world .rk-booking .btn-ghost,.rk-world .rk-booking .btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-hi)}.rk-booking .focus-card,.rk-booking .package-card{border-radius:12px}.rk-booking .panel-header h2{font-size:26px;letter-spacing:-.025em}.rk-booking .header .eyebrow{color:var(--accent)}
.rk-prose .rkp-pg-hero,.rk-prose .rkp-page-hero{padding-bottom:40px;border-bottom:1px solid var(--rk-line);margin-bottom:40px}.rk-prose .rkp-card{border-radius:14px;background:linear-gradient(145deg,#20251b,#141712);position:relative;transition:transform .25s,border-color .25s}.rk-prose .rkp-card:hover{transform:translateY(-4px);border-color:#73854d}.rk-prose .rkp-featured{border-color:var(--rk-accent)}.rk-prose .rkp-badge{display:inline-block;background:var(--rk-accent);color:#17220d;font-size:11px;letter-spacing:.1em;border-radius:20px;padding:5px 12px}.rk-prose .rkp-price-note{font-size:13px;color:var(--rk-muted)}.rk-prose .rkp-price{font:400 44px 'Manrope',sans-serif;letter-spacing:-.05em}.rk-prose .rkp-btn-primary{background:var(--rk-accent);color:#17220d;border-color:var(--rk-accent)}.rk-prose .rkp-cta{padding:40px;border:1px solid var(--rk-line);border-radius:16px;background:#1b2016;margin:35px 0}.rk-prose .rkp-cta h2{margin-top:0}.rk-prose .rkp-step-num{font-size:38px;color:var(--rk-accent);font-family:Georgia,serif}.rk-prose .rkp-tag{color:var(--rk-accent);font-size:13px}.rk-story{padding:35px 0;border-bottom:1px solid var(--rk-line)}.rk-world input:not([type=range]):not([type=checkbox]):not([type=radio]),.rk-world select,.rk-world textarea{background:#1b1e18;color:#f2f0e9;border:1px solid #59604c;border-radius:7px;padding:12px;font:inherit;max-width:100%}.rk-world input:focus,.rk-world select:focus,.rk-world textarea:focus{outline:2px solid var(--rk-accent);outline-offset:2px}.rk-world .search-submit,.rk-world input[type=submit]{background:var(--rk-accent);color:#17220d;padding:12px 24px;border-radius:30px}.rk-prose .rkp-eyebrow{color:var(--rk-accent)}
@media(max-width:650px){.rk-booking .panel-body,.rk-booking .panel-header{padding:18px}.rk-booking .steps{gap:4px}.rk-booking .header h1{font-size:48px}.rk-prose .rkp-cta{padding:24px}.rk-booking .step-connector{width:18px}.rk-brand{font-size:16px}}
