.elementor-widget-ros_ebook_box.ros-align-justify .ros-ebook-btn-wrapper { display: block; width: 100%; }
.elementor-widget-ros_ebook_box.ros-align-justify .ros-ebook-btn-wrapper .elementor-button { width: 100%; justify-content: center; }
.elementor-widget-ros_flipbook_button.ros-align-justify { display: block; width: 100%; }
.elementor-widget-ros_flipbook_button.ros-align-justify .elementor-button { width: 100%; justify-content: center; }

:root { --ros-tb-size: 50px; }
.ros-modal-overlay { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; background: #1a1a1c !important; z-index: 999999 !important; display: flex; opacity: 0; transition: opacity 0.3s ease; }
.ros-modal-overlay.ros-show { opacity: 1; }
.ros-modal-content { width: 100%; height: 100%; position: relative; overflow: hidden; background: transparent; }
.ros-top-toolbar { position: absolute; background: #0f0f11; display: flex; align-items: center; justify-content: space-between; z-index: 100000; transition: background 0.3s ease; }
.ros-top-toolbar[data-pos="top"] { top: 0; left: 0; right: 0; height: var(--ros-tb-size); width: 100%; flex-direction: row; border-bottom: 1px solid rgba(255,255,255,0.1); padding: 0 15px; }
.ros-top-toolbar[data-pos="bottom"] { bottom: 0; left: 0; right: 0; height: var(--ros-tb-size); width: 100%; flex-direction: row; border-top: 1px solid rgba(255,255,255,0.1); padding: 0 15px; }
.ros-top-toolbar[data-pos="left"] { top: 0; bottom: 0; left: 0; width: var(--ros-tb-size); height: 100%; flex-direction: column; border-right: 1px solid rgba(255,255,255,0.1); padding: 15px 0; }
.ros-top-toolbar[data-pos="right"] { top: 0; bottom: 0; right: 0; width: var(--ros-tb-size); height: 100%; flex-direction: column; border-left: 1px solid rgba(255,255,255,0.1); padding: 15px 0; }
.ros-toolbar-group { display: flex; gap: 4px; align-items: center; justify-content: center; }
.ros-top-toolbar[data-pos="left"] .ros-toolbar-group, .ros-top-toolbar[data-pos="right"] .ros-toolbar-group { flex-direction: column; gap: 6px; align-items: center; width: 100%; }
.ros-tool-btn { background: transparent; border: 1px solid transparent; color: #888888; border-radius: 5px; cursor: pointer; display: flex; align-items: center; justify-content: center; margin: 0; flex-direction: column; gap: 4px; transition: 0.2s; padding: 4px 4px; font-size: 14px; min-width: 40px; min-height: 36px; }
.ros-tool-btn .btn-label{font-size: 10px; font-weight: bold; text-transform: uppercase; line-height: 1;}
.ros-tool-btn svg { width: 15px !important; height: 15px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; display: block !important; }
.ros-tool-btn:hover { background: #222222; color: #ffffff; }
.ros-tool-btn.active { background: #dab875; color: #000000; border-color: #dab875; }
.ros-tool-select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: transparent; color: #888888; border: 1px solid rgba(255,255,255,0.1); border-radius: 5px; padding: 0 24px 0 10px; font-size: 12px; font-weight: 500; height: 30px; cursor: pointer; outline: none; transition: 0.2s; background-repeat: no-repeat; background-position: right 6px center; background-size: 14px; width: 80px; }
.ros-toolbar-divider { background: rgba(255,255,255,0.1); }
.ros-top-toolbar[data-pos="top"] .ros-toolbar-divider, .ros-top-toolbar[data-pos="bottom"] .ros-toolbar-divider { width: 1px; height: 20px; margin: 0 4px; }
.ros-toolbar-download { background: #dab875; color: #000000; border: none; font-weight: bold; border-radius: 5px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; transition: 0.3s; }
.ros-toolbar-download svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.5; }
.ros-toolbar-download:hover { background: #ffffff; color: #000; }
.ros-bottom-nav { position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%); display: flex; gap: 12px; align-items: center; justify-content: center; flex-shrink: 0; z-index: 100; transition: bottom 0.3s ease; }
body.ros-audio-active .ros-bottom-nav { bottom: 85px; }
#ros-page-counter { color:#ccc; font-size:14px; font-weight:600; font-family:monospace; min-width: 90px; text-align: center; }
.ros-modal-body-area { position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: flex; flex-direction: column; padding: 20px 20px 55px 20px; overflow: hidden; box-sizing: border-box; transition: padding 0.3s ease; }
body.ros-audio-active .ros-modal-body-area { padding-bottom: 125px; }
.ros-top-toolbar[data-pos="top"] ~ .ros-modal-body-area { top: var(--ros-tb-size); }
.ros-inner-flip-wrapper { width: 100%; flex-grow: 1; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; transform-origin: center center; will-change: transform; overflow: hidden; }
.ros-book-shifter-dynamic { width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center; transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1); margin: 0 auto; }
.ros-page-flip-book-dynamic { position: relative; display: block; width: 100%; height: 100%; flex-shrink: 0; }
.ros-form-drawer { position: absolute; top: 0; right: -500px; width: 450px; height: 100%; background: #fff; box-shadow: -10px 0 30px rgba(0,0,0,0.5); z-index: 999999; transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
.ros-form-drawer.open { right: 0; }
.ros-form-inner-content { padding: 60px 40px 40px; height: 100%; overflow-y: auto; }
.ros-form-close-btn { position: absolute; top: 15px; right: 15px; background: #f4f4f4; border: 1px solid #e1e1e1; font-size: 11px; font-weight: 700; border-radius: 6px; cursor: pointer; color: #555; display: inline-flex; align-items: center; padding: 4px 10px !important; }
.ros-book-page { background-color: #fdfdfd; overflow: hidden; box-shadow: 0 0 10px rgba(0,0,0,0.2); }
.ros-audio-player-wrapper { display: none; position: absolute; bottom: 0; left: 0; width: 100%; z-index: 100000; background: #f8f9fa; border-top: 1px solid #e5e7eb; padding: 6px 15px; box-sizing: border-box; align-items: center; justify-content: space-between; gap: 15px; font-family: sans-serif; }
.ros-audio-left { display: flex; align-items: center; gap: 15px; flex-shrink: 0; min-width: 250px; }
.ros-audio-center { display: flex; align-items: center; gap: 15px; flex-grow: 1; width: 100%; justify-content: center; } 
.ros-audio-right { display: flex; align-items: center; gap: 15px; flex-shrink: 0; min-width: 150px; justify-content: flex-end; }
.ros-audio-play-btn { width: 36px; height: 36px; background: #000000; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; }
/* Lightbox Audio Title - Isme max-width aur display add karein */
.ros-audio-title-text { color: #4b5563; font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; display: inline-block; vertical-align: middle;}
/* Inline Audio Title - Nayi class add karein */
.ros-inline-track-title {white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px;display: inline-block;vertical-align: middle;}

/* Desktop screens ke liye width thodi badha dein */
@media (min-width: 768px) {
    .ros-audio-title-text { max-width: 250px; }
    .ros-inline-track-title { max-width: 200px; }
}
.ros-audio-dl-btn { background: transparent; border: none; padding: 5px; cursor: pointer; color: #4b5563; }
.ros-audio-dl-btn svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
#ros-audio-current-time, #ros-audio-duration { color: #6b7280; font-size: 12px; min-width: 35px; font-variant-numeric: tabular-nums; }
@keyframes rosSpinFast { 100% { transform: rotate(360deg); } }
.ros-spin-fast { animation: rosSpinFast 0.8s linear infinite; }
#ros-audio-seek { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; background: #dab875; border-radius: 3px; outline: none; cursor: pointer; }
#ros-audio-seek::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; border-radius: 50%; background: #000000; cursor: pointer; }
#ros-audio-mute-btn { width: 20px; height: 20px; fill: #6b7280; cursor: pointer; }
#ros-audio-speed-btn { background: transparent; border: 1px solid #d1d5db; color: #4b5563; border-radius: 4px; padding: 2px 8px; font-size: 12px; font-weight: 600; cursor: pointer; min-width: 32px; }
#ros-audio-close-btn { width: 20px; height: 20px; stroke: #6b7280; stroke-width: 2; fill: none; cursor: pointer; }
#ros-audio-captions-display { position: absolute; bottom: 54px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, 0.75); color: #fff; padding: 5px 15px; border-radius: 8px; font-size: 16px; text-align: center; z-index: 10000; opacity: 0; visibility: hidden; transition: opacity 0.2s ease; }
body.ros-audio-active #ros-audio-captions-display { bottom: 150px; }
.ros-floating-audio-btn { position: fixed; bottom: 50px; right: 80px; width: 35px; height: 35px; padding: 10px; background: #dab875; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 20px rgba(0,0,0,0.5); z-index: 9999999; }
.ros-inline-player-wrapper { display:flex; flex-wrap:wrap; align-items:center; background:#111; padding:10px 15px; box-shadow:0 8px 25px rgba(0,0,0,0.1); gap:15px; width: 100%;}
.ros-inline-btn-box { width:45px; height:45px; background:#dab875; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; }
/* FIX: Audio Inline Widget Icon Sizing */
.ros-inline-btn-box { flex-shrink: 0; transition: 0.2s; }
.ros-inline-btn-box:hover { transform: scale(1.05); }
.ros-inline-btn-box svg { width: 22px !important; height: 22px !important; fill: #000; stroke: #000; }
.ros-inline-play-icon, .ros-inline-pause-icon, .ros-inline-load-icon { max-width: 24px; max-height: 24px; }
.ros-inline-timeline { flex-grow:1; display:flex; align-items:center; gap:15px; min-width:150px; }
.ros-inline-seek { -webkit-appearance:none; appearance: none; width:100%; height:6px; background:#333; border-radius:3px; outline:none; cursor:pointer; }
.ros-inline-seek::-webkit-slider-thumb { -webkit-appearance:none; width:16px; height:16px; background:#dab875; border-radius:50%; cursor:pointer; }
.ros-inline-speed { background:transparent; border:1px solid #555; border-radius:4px; padding:4px 8px; font-size:12px; font-weight:bold; cursor:pointer; color:#dab875; }
.ros-inline-floating-btn { width: 50px; height: 50px; background: #dab875; color: #000000; border: 1px solid ; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 20px rgba(0,0,0,0.5); z-index: 999999; float: right; margin: 10px; }
.ros-inline-dl-btn, .ros-inline-close-btn { background:transparent; border:none; padding:5px; cursor:pointer; color:inherit; display:flex; }
/* Custom Dropdown Styling */
.ros-dropdown-container { position: relative; display: flex; flex-direction: column; align-items: center; }
.ros-dropdown-menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background: #1a1a1c; border: 1px solid rgba(255,255,255,0.1); border-radius: 6px; min-width: 140px; box-shadow: 0 8px 24px rgba(0,0,0,0.6); display: none; flex-direction: column; z-index: 100001; overflow: hidden; margin-top: 10px; }
.ros-dropdown-menu.show { display: flex; }
.ros-dropdown-item { background: transparent; color: #ccc; border: none; padding: 7px 15px; text-align: left; font-size: 13px; cursor: pointer; transition: 0.2s; border-bottom: 1px solid rgba(255,255,255,0.05); width: 100%; font-family: inherit; }
.ros-dropdown-item:last-child { border-bottom: none; }
.ros-dropdown-item:hover, .ros-dropdown-item.active { background: #dab875; color: #000; font-weight: bold; }

/* Position logic for Top/Bottom/Left/Right Toolbar modes */
.ros-top-toolbar[data-pos="left"] .ros-dropdown-menu { top: 0; left: 100%; transform: none; margin-top: 0; margin-left: 10px; }
.ros-top-toolbar[data-pos="right"] .ros-dropdown-menu { top: 0; right: 100%; left: auto; transform: none; margin-top: 0; margin-right: 10px; }
.ros-top-toolbar[data-pos="bottom"] .ros-dropdown-menu { bottom: 100%; top: auto; transform: translateX(-50%); margin-bottom: 10px; margin-top: 0; }
.ros-inline-captions-display { display: none; background: #111; color: #fff; padding: 10px 20px; border-radius: 6px; font-size: 15px; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin: 0 10px; position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); z-index: 10000; }
@media (max-width: 768px) {
    .ros-audio-player-wrapper { flex-wrap: wrap; padding: 12px 15px; gap: 8px; justify-content: space-between; }
    .ros-audio-center { width: 100%; order: 1; flex-grow: 1; border-bottom: 1px solid #ddd; padding-bottom: 8px; }
    .ros-audio-left { flex: 1; order: 2; gap: 10px; }
    .ros-audio-right { width: auto; order: 3; justify-content: flex-end; min-width: 20px; }
    #ros-audio-mute-btn, #ros-audio-speed-btn { display: none; }
    body.ros-audio-active .ros-bottom-nav { bottom: 105px !important; } 
    body.ros-audio-active .ros-modal-body-area { padding-bottom: 145px !important; }
    .ros-toolbar-group.ros-pos-controls{display:none !important;}
    .ros-tool-btn{min-width:35px;}
    .ros-form-drawer { width: 100%; right: -100%; }
    .ros-form-inner-content{ padding: 60px 20px 40px; }
}