/**
 * RTL Styles for Arabic Language
 * 
 * @package DiveBnB_WTE_Customizations
 * 
 * CRITICAL RTL FIXES:
 * - All form fields have proper RTL text direction
 * - Elementor Tour Search widget button positioned correctly (left side)
 * - Trip search fields properly aligned for Arabic text
 */

/* ==================================================
   CRITICAL: Force RTL for all inputs (highest priority)
   ================================================== */

body.rtl input,
body.rtl textarea,
body.rtl select {
    direction: rtl !important;
    text-align: right !important;
}

body.rtl input::placeholder,
body.rtl textarea::placeholder {
    direction: rtl !important;
    text-align: right !important;
}

/* ==================================================
   Base RTL Styles
   ================================================== */

body.rtl {
    direction: rtl;
    text-align: right;
}

/* ==================================================
   Booking Form Fields
   ================================================== */

body.rtl .wp-travel-engine-booking-field {
    text-align: right;
}

body.rtl .wp-travel-engine-booking-field label {
    text-align: right;
    float: right;
}

body.rtl .wp-travel-engine-personal-details {
    text-align: right;
}

body.rtl .wp-travel-engine-personal-details label {
    text-align: right;
}

body.rtl .wp-travel-engine-personal-details input,
body.rtl .wp-travel-engine-personal-details select,
body.rtl .wp-travel-engine-personal-details textarea {
    text-align: right;
    direction: rtl;
}

/* ==================================================
   Diving Fields
   ================================================== */

body.rtl .divebnb-diving-field {
    text-align: right;
}

body.rtl .divebnb-diving-field label {
    text-align: right;
}

body.rtl .divebnb-diving-field input,
body.rtl .divebnb-diving-field select,
body.rtl .divebnb-diving-field textarea {
    text-align: right;
    direction: rtl;
}

/* Certification select dropdown */
body.rtl .divebnb-cert-select {
    text-align: right;
    padding-right: 10px;
    padding-left: 30px;
    background-position: left 10px center;
}

/* ==================================================
   Document Upload Section
   ================================================== */

body.rtl .divebnb-upload-section {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-upload-section h4 {
    text-align: right;
}

body.rtl .upload-row {
    text-align: right;
}

body.rtl .upload-label {
    text-align: right;
    margin-left: 10px;
    margin-right: 0;
}

body.rtl .upload-button {
    float: left;
    margin-left: 0;
    margin-right: 10px;
}

body.rtl .file-preview {
    text-align: right;
}

body.rtl .file-name {
    text-align: right;
    float: right;
}

body.rtl .remove-file {
    float: left;
    margin-left: 0;
    margin-right: 10px;
}

body.rtl .upload-progress {
    text-align: right;
}

body.rtl .upload-status {
    text-align: right;
}

/* Upload instructions */
body.rtl .divebnb-upload-instructions {
    text-align: right;
}

body.rtl .divebnb-upload-instructions ul {
    text-align: right;
    padding-right: 20px;
    padding-left: 0;
}

body.rtl .divebnb-upload-instructions li {
    text-align: right;
}

/* ==================================================
   Error Messages & Validation
   ================================================== */

body.rtl .error-message,
body.rtl .field-error,
body.rtl .validation-error {
    text-align: right;
    direction: rtl;
}

/* DiveBnB specific error boxes */
body.rtl .divebnb-error-box {
    border-left: none;
    border-right: 4px solid var(--divebnb-error-accent, #d9534f);
    text-align: right;
}

body.rtl .divebnb-error-box h4 {
    text-align: right;
}

body.rtl .divebnb-error-box ul {
    text-align: right;
    padding-right: 18px;
    padding-left: 0;
}

body.rtl .divebnb-field-error {
    text-align: right;
}

body.rtl .divebnb-validation-message {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-validation-message .icon {
    margin-left: 6px;
    margin-right: 0;
}

body.rtl .divebnb-traveller-error {
    text-align: right;
}

body.rtl .divebnb-phone-validation {
    text-align: right;
}

body.rtl .wpte-bf-booking-form-wrapper .wpte-bf-field.error .wpte-bf-label::after {
    right: auto;
    left: 0;
}

/* Buttons */

body.rtl .wp-travel-engine-booking-form .button,
body.rtl .wp-travel-engine-booking-form button,
body.rtl .wp-travel-engine-booking-form input[type="submit"] {
    float: right;
}

body.rtl .divebnb-upload-section .button {
    float: left;
}

/* Button icons */
body.rtl .button .icon {
    margin-left: 8px;
    margin-right: 0;
}

/* Admin Styles */

/* Booking list columns */
body.rtl .wp-list-table th,
body.rtl .wp-list-table td {
    text-align: right;
}

body.rtl .wp-list-table .column-boat {
    text-align: right;
}

body.rtl .wp-list-table .column-cert_level,
body.rtl .wp-list-table .column-min_dives {
    text-align: right;
}


/* Meta boxes */
body.rtl .cmb2-wrap {
    direction: rtl;
}

body.rtl .cmb2-wrap .cmb-row {
    text-align: right;
}

body.rtl .cmb2-wrap label {
    text-align: right;
}

body.rtl .cmb2-wrap input,
body.rtl .cmb2-wrap select,
body.rtl .cmb2-wrap textarea {
    text-align: right;
    direction: rtl;
}

body.rtl .cmb2-wrap .cmb-th {
    text-align: right;
}

body.rtl .cmb2-wrap .cmb-td {
    text-align: right;
}

/* Admin notices */
body.rtl .notice {
    text-align: right;
}

/* Email Styles (for HTML emails) */

.rtl-email {
    direction: rtl;
    text-align: right;
}

.rtl-email table {
    direction: rtl;
}

.rtl-email td {
    text-align: right;
}

.rtl-email th {
    text-align: right;
}

/* Boat Selection */

body.rtl .divebnb-boat-selection {
    text-align: right;
}

body.rtl .divebnb-boat-selection label {
    text-align: right;
}

body.rtl .divebnb-boat-selection select {
    text-align: right;
    padding-right: 10px;
    padding-left: 30px;
    background-position: left 10px center;
}

/* Responsive RTL Adjustments */

@media (max-width: 768px) {
    body.rtl .wp-travel-engine-booking-field {
        text-align: right;
    }
    
    body.rtl .divebnb-upload-section {
        text-align: right;
    }
    
    body.rtl .upload-button {
        float: none;
        width: 100%;
        margin: 10px 0;
    }
    
    body.rtl .file-name {
        float: none;
        display: block;
        margin-bottom: 10px;
    }
}

/* Utility Classes */

body.rtl .text-left {
    text-align: right !important;
}

body.rtl .text-right {
    text-align: left !important;
}

body.rtl .float-left {
    float: right !important;
}

body.rtl .float-right {
    float: left !important;
}

body.rtl .mr-1, body.rtl .mr-2, body.rtl .mr-3 {
    margin-right: 0 !important;
}

body.rtl .ml-1 { margin-right: 0.25rem !important; }
body.rtl .ml-2 { margin-right: 0.5rem !important; }
body.rtl .ml-3 { margin-right: 1rem !important; }

body.rtl .pl-1, body.rtl .pl-2, body.rtl .pl-3 {
    padding-left: 0 !important;
}

body.rtl .pr-1 { padding-right: 0.25rem !important; }
body.rtl .pr-2 { padding-right: 0.5rem !important; }
body.rtl .pr-3 { padding-right: 1rem !important; }

/* TRIP CARD BADGES - RTL */

/* Trip badges container - mirror flex direction for RTL */
body.rtl .divebnb-trip-card-badges,
body.rtl .divebnb-trip-badges {
    direction: rtl;
    justify-content: flex-start;
}

/* Individual badges - proper RTL alignment with enhanced styling */
body.rtl .divebnb-badge,
body.rtl .divebnb-trip-badges .badge {
    direction: rtl;
    flex-direction: row-reverse;
    font-family: 'Cairo', 'Noto Sans Arabic', 'Tajawal', 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
    font-feature-settings: 'ss02' 1; /* Enable stylistic alternates for better Arabic rendering */
}

body.rtl .divebnb-badge .badge-icon {
    margin-left: 5px;
    margin-right: 0;
    order: 1;
}

body.rtl .divebnb-badge .badge-text {
    text-align: right;
    order: 0;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important; /* Slightly increased line-height for Arabic */
}

/* Difficulty badge styling for RTL - match English style quality */
body.rtl .category-trip-difficulty.divebnb-styled,
body.rtl .category-trip-difficulty.divebnb-easy,
body.rtl .category-trip-difficulty.divebnb-medium,
body.rtl .category-trip-difficulty.divebnb-hard,
body.rtl .category-trip-difficulty.divebnb-extreme {
    font-family: 'Cairo', 'Noto Sans Arabic', 'Tajawal', 'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.5 !important;
}

body.rtl .category-trip-difficulty .wte-difficulty-content {
    font-weight: 600 !important;
}

/* Difficulty badge container positioning for RTL */
body.rtl .category-trip-desti {
    direction: rtl;
}

/* Difficulty bubble positioning for RTL */
body.rtl .category-trip-difficulty {
    flex-direction: row-reverse;
}

body.rtl .category-trip-difficulty .difficulty-bubble {
    margin: 0 0 0 4px !important;
}

body.rtl .category-trip-difficulty .wte-difficulty-content {
    text-align: right;
}

/* Duration badge RTL */
body.rtl .category-trip-dur,
body.rtl .wpte-trip-meta {
    direction: rtl;
    flex-direction: row-reverse;
}

/*
   TRIP CARDS - RTL */

/* Trip card grid container */
body.rtl .wte-category-outer-wrap,
body.rtl .wp-travel-engine-archive-outer-wrap,
body.rtl .wpte-elementor-widget {
    direction: rtl;
}

/* Trip card inner layout */
body.rtl .category-trips-single,
body.rtl .wpte-trip-single,
body.rtl .wte-trip-item,
body.rtl .trip-card {
    direction: rtl;
    text-align: right;
}

/* Trip title */
body.rtl .category-trip-title,
body.rtl .wpte-trip-title,
body.rtl .trip-title,
body.rtl .trip-title-v2 {
    text-align: right;
}

/* Price tag positioning for RTL */
body.rtl .trip-price-tag {
    right: auto;
    left: 15px;
    align-items: flex-start;
}

body.rtl .category-trip-prc {
    direction: rtl;
    text-align: right;
}

/* Trip card footer */
body.rtl .explore-btn {
    flex-direction: row-reverse;
}

body.rtl .explore-btn::after {
    content: '←';
}

/* Trip info wrap */
body.rtl .trip-info-wrap {
    text-align: right;
}

/* Trip top meta chips */
body.rtl .trip-top-meta {
    justify-content: flex-start;
}

body.rtl .trip-duration-chip,
body.rtl .trip-diff-chip {
    flex-direction: row-reverse;
}

/* SINGLE TRIP PAGE - RTL */

/* Dive requirements section */
body.rtl .divebnb-diving-details {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-section-header {
    flex-direction: row-reverse;
    text-align: right;
}

body.rtl .section-icon-wrapper {
    margin-left: 15px;
    margin-right: 0;
}

body.rtl .divebnb-section-title {
    text-align: right;
}

body.rtl .title-underline {
    margin-right: 0;
    margin-left: auto;
}

/* Requirements grid */
body.rtl .divebnb-requirements-grid {
    direction: rtl;
}

body.rtl .requirement-item {
    direction: rtl;
    text-align: right;
}

body.rtl .requirement-item::before {
    left: auto;
    right: 0;
}

body.rtl .requirement-icon-modern {
    margin-left: 12px;
    margin-right: 0;
}

body.rtl .requirement-content {
    text-align: right;
}

body.rtl .requirement-content strong {
    text-align: right;
}

body.rtl .requirement-content .value-label {
    text-align: right;
}

/* Equipment info badges */
body.rtl .divebnb-equipment-info {
    direction: rtl;
    justify-content: flex-start;
}

body.rtl .equipment-badge {
    flex-direction: row-reverse;
}

body.rtl .badge-icon-circle {
    margin-left: 8px;
    margin-right: 0;
}

body.rtl .badge-text {
    text-align: right;
}

/* Info cards */
body.rtl .divebnb-info-card {
    text-align: right;
}

body.rtl .info-card-header {
    flex-direction: row-reverse;
}

body.rtl .info-icon {
    margin-left: 10px;
    margin-right: 0;
}

body.rtl .info-card-content {
    text-align: right;
}

/* BOATS - RTL */

/* Boats archive grid */
body.rtl .divebnb-boats-archive-wrapper {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-boats-archive-header {
    text-align: right;
}

body.rtl .divebnb-boats-archive-grid {
    direction: rtl;
}

/* Boat cards */
body.rtl .divebnb-boat-card-premium {
    direction: rtl;
}

body.rtl .boat-card-link {
    text-align: right;
}

body.rtl .boat-details-wrap {
    text-align: right;
}

body.rtl .boat-title {
    text-align: right;
}

body.rtl .boat-specs-inline {
    direction: rtl;
    justify-content: flex-start;
}

body.rtl .spec-chip {
    flex-direction: row-reverse;
}

body.rtl .spec-chip svg {
    margin-left: 6px;
    margin-right: 0;
}

body.rtl .boat-card-footer {
    align-items: flex-start;
}

body.rtl .view-btn {
    text-align: right;
}

body.rtl .footer-line {
    margin-left: auto;
    margin-right: 0;
}

/* Single boat page */
body.rtl .divebnb-single-boat-wrapper {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-breadcrumb {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-breadcrumb .sep {
    margin: 0 8px;
    transform: scaleX(-1);
}

body.rtl .divebnb-boat-header {
    text-align: center;
}

body.rtl .divebnb-boat-title {
    text-align: center;
}

body.rtl .title-underline-glow {
    margin: 0 auto;
}

body.rtl .divebnb-boat-specifications {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-boat-specs-grid {
    direction: rtl;
}

body.rtl .divebnb-boat-spec-item {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-boat-spec-item svg {
    margin-left: 10px;
    margin-right: 0;
}

body.rtl .divebnb-boat-spec-item dt,
body.rtl .divebnb-boat-spec-item dd {
    text-align: right;
}

body.rtl .divebnb-boat-features {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-features-grid {
    direction: rtl;
}

body.rtl .divebnb-feature-item {
    flex-direction: row-reverse;
    text-align: right;
}

body.rtl .divebnb-feature-item svg {
    margin-left: 8px;
    margin-right: 0;
}

/* Boat trips section */
body.rtl .divebnb-boat-trips-section {
    direction: rtl;
    text-align: right;
}

body.rtl .divebnb-boat-trips-title {
    text-align: right;
}

body.rtl .divebnb-boat-trips-title::after {
    margin-left: auto;
    margin-right: 0;
}

/* SLIDERS - RTL */

/* Swiper navigation for RTL */
body.rtl .divebnb-trips-slider .swiper-button-next,
body.rtl .divebnb-boats-slider .swiper-button-next {
    right: auto;
    left: 10px;
}

body.rtl .divebnb-trips-slider .swiper-button-prev,
body.rtl .divebnb-boats-slider .swiper-button-prev {
    left: auto;
    right: 10px;
}

body.rtl .divebnb-trips-slider .swiper-button-next:after,
body.rtl .divebnb-boats-slider .swiper-button-next:after {
    content: '←';
}

body.rtl .divebnb-trips-slider .swiper-button-prev:after,
body.rtl .divebnb-boats-slider .swiper-button-prev:after {
    content: '→';
}

/* RESPONSIVE RTL ADJUSTMENTS */

@media (max-width: 768px) {
    /* Trip cards on mobile */
    body.rtl .trip-price-tag {
        right: auto;
        left: 10px;
    }
    
    /* Requirements grid on mobile */
    body.rtl .divebnb-requirements-grid {
        direction: rtl;
    }
    
    /* Boat specs grid on mobile */
    body.rtl .divebnb-boat-specs-grid {
        direction: rtl;
    }
}

@media (max-width: 480px) {
    /* Small screen adjustments */
    body.rtl .divebnb-badge .badge-text {
        font-size: 10px !important;
    }
    
    body.rtl .category-trip-difficulty .wte-difficulty-content {
        font-size: 10px !important;
    }
}

/* WP Travel Engine floating labels (Material-style inputs)
   Keep label/notch anchored to the right in RTL. */

body.rtl .wpte-material-ui-input-control {
    direction: rtl;
}

body.rtl .wpte-material-ui-input-control > label {
    right: 10px !important;
    left: auto !important;
    text-align: right;
    transform-origin: right top;
}

body.rtl .wpte-material-ui-input-control fieldset legend,
body.rtl .wpte-material-ui-input-control fieldset legend > span {
    direction: rtl;
    text-align: right;
}

/* Coupon code field uses its own override in WTE; keep it right-anchored too. */
body.rtl .wpte-checkout__coupon-form .wpte-checkout__form-control label {
    right: 8px !important;
    left: auto !important;
    text-align: right;
}
