.dashboard-header .search-area .mb-3,.block-views-blockcurrent-user-name-block-2 .mb-3 {margin-bottom: 0px !important;}
.dashboard-header .search-area input.form-autocomplete {background-position: center right 10px;margin-top: 0px;}


/*Global Modal popup css start */
ul#ui-id-1 { border: 1px solid #ddd; border-radius: 5px; font-family: satoshi; font-weight: 500;}
.search-api-autocomplete-search .ui-menu-item:hover { background: #eee !important;}


body .ui-widget-content a {
    color: var(--paragraph);
    margin: 0px !important;
}

body .ui-state-active, .ui-widget-content .ui-state-active,
body .ui-widget-header .ui-state-active,
body a.ui-button:active,
body .ui-button:active,
body .ui-button.ui-state-active:hover {
    border: 1px solid var(--title) !important;
    background: var(--title) !important;
}



.ui-widget-header { background: transparent; border: 0; font-size: 16px; font-weight: bold;
    color: var(--title);
}

.ui-dialog .ui-dialog-titlebar {padding: 24px;padding-bottom: 10px;}
.ui-dialog .ui-dialog-content {padding: 24px; padding-top: 5px;}
.create-script-popup .form-check.form-check-inline.checkbox-container:not(:last-child) {
    margin: 0px;
    padding: 0px;
}

.script-modal .create-script-popup .advanced-btn {
    font-size: 14px;
    font-weight: bold;
    color: var(--title);
    margin: 0;
    margin-bottom: 5px;
}

div.ui-widget.ui-widget-content {
    border: 1px solid #fff;
    border-radius: 16px;
    width: 600px !important;
    max-width: 100%;
    padding: 0px;
    min-width: 200px;
}

.ui-dialog .ui-dialog-titlebar-close {
    border: 1px solid #ddd;
    background: #f2f3f4;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    top: 15px;
}


.ui-dialog .ui-dialog-title{ margin: 0px;}

.ui-dialog .ui-dialog-titlebar-close:before {
    position: absolute;
    content: "\f659" !important;
    font-family: bootstrap-icons !important;
    top: 0px;
    left: 0;
    right: 0;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--paragraph, #6b6880);
}

.ui-dialog .ui-dialog-titlebar-close {
    right: 24px;
    margin: 0;
}
.ui-widget-content {color: var(--paragraph, #6b6880);}


.js-form-item.form-item.js-form-type-checkbox {display: flex;}
.js-form-item.form-item.js-form-type-checkbox input {
    width: 17px;
    height: 17px;
    border-radius: 4px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 7px;
    cursor: pointer;
    padding: 0;
    margin-top: 2px;
}

.js-form-item.form-item.js-form-type-checkbox .form-label {
    margin: 0 !important;
    cursor: pointer;
    color: var(--paragraph);
    font-weight: 500;
}

.js-form-item.form-item.js-form-type-checkbox input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    vertical-align: top;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


.form-actions.js-form-wrapper.form-wrapper {
    text-align: center;
    margin: 0px !important;
}

.js-form-item.form-item.js-form-type-checkbox.form-item-field-saved-audience-value.js-form-item-field-saved-audience-value.form-group.control-field {
    padding: 0px 15px;
}

/* Soial bio page */
.nav.nav-social-bio{ margin-bottom: 30px;}
.nav.nav-social-bio::before{ bottom: -12px;}
.mobilebox iframe { border-radius: 70px;}
.card.card-social-bio .form-actions.js-form-wrapper.form-wrapper {
    justify-content: space-between;
    display: flex;
    margin-top: 50px !important;
}
#drupal-off-canvas button.color_field_widget_box__square, .color_field_widget_box__square, #drupal-off-canvas button.color_field_widget_box__square--transparent, .color_field_widget_box__square--transparent {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    border: 1px solid #ddd;
    box-shadow: none;
    background-position: center center;
    background-size: 16px;
}

#drupal-off-canvas button.color_field_widget_box__square, .color_field_widget_box__square {margin-right: 16px;}

button.color_field_widget_box__square.active {
    border-color: red;
}
.control-field .form-control.form-text, .control-field .form-select.form-text { margin-top: 0px;}
.ck.ck-editor__editable_inline {min-height: 150px;}

.field--widget-entity-reference-paragraphs .paragraph-toggle{ display: none;}
.tabledrag-toggle-weight-wrapper {display: none;}

.field--widget-entity-reference-paragraphs tr {
    border: 0;
    border-bottom: 16px solid #fff;
    background-color: var(--primary-light);
}

.js .field--widget-entity-reference-paragraphs .field-multiple-table {width: 100%;}
.js .field--widget-entity-reference-paragraphs .field-multiple-table .tabledrag-hide {display: none;}

.js .field--widget-entity-reference-paragraphs td .js-form-wrapper.form-wrapper.mb-3 {
    margin-bottom: 0px !important;
}

.js .paragraph-type-top {
    padding: 0px 40px 0px 0px;
    align-items: center;
    min-height: 42px;
    position: relative;
}

.js .field--widget-entity-reference-paragraphs .field-multiple-drag {
    position: relative;
    padding: 0px 5px;
    width: 25px;
    vertical-align: middle;
}


.field--widget-entity-reference-paragraphs tr.expanded .field-multiple-drag {
    vertical-align: top;
}

.field--widget-entity-reference-paragraphs tr.expanded .field-multiple-drag .tabledrag-handle {
    margin-top: 15px;
}



.js .field--widget-entity-reference-paragraphs td {
    padding: 5px;
}


.js .field--widget-entity-reference-paragraphs .draggable .tabledrag-handle {
    display: block !important;
    height: auto !important;
}

.js .field--widget-entity-reference-paragraphs .tabledrag-handle .handle {
    width: 22px !important;
    height: 22px !important;
    margin: 0px;
    background-position: 4px;
}

.touchevents a.tabledrag-handle .handle {
    height: 21px;
    background-position: center center !important;
}

.tabledrag-changed-warning.messages.messages--warning {
    margin-bottom: 14px;
}

div#iframe-wrapper {width: 100%; height: 100%;}
.mobilebox iframe {
    border-radius: 70px;
    width: 100%;
    height: 100%;
}


.paragraphs-dropbutton-wrapper .btn { font-size: 12px; font-weight: bold; color: #EA2E2E; display: flex;
align-items: center; background: transparent; padding: 0px;}

.paragraphs-dropbutton-wrapper .btn:hover {background: transparent;}
.js-form-item.form-item.js-form-type-color input {width: 40px;padding: 3px;border-radius: 3px;}

.js .paragraph-type-title { font-size: 14px;font-weight: bold;color: var(--title);margin-right: 8px; margin-bottom: 0px !important;}

.field-label h4.label {
    font-size: 18px;
    font-weight: 700;
    color: var(--title);
    margin-bottom: 10px;
    background-color: #fff;
    margin: -1px;
    padding: 10px;
}

button.paragraph-item-toggle {
    width: 28px;
    height: 28px;
    position: absolute;
    top: 50%;
    transform: translate(-50%);
    margin-top: -12px;
    right: -10px;
    bottom: 0;
    display: flex;
    align-items: center;
    font-size: 0;
    justify-content: center;
    font-weight: bold;
    background-color: var(--bs-white);
    border-radius: 8px;
    color: var(--title);
    opacity: 1;
    border: 0;
}

.field--widget-entity-reference-paragraphs .draggable .paragraph-item-toggle:before {
    content: "\f4fe";
    font-family: bootstrap-icons !important;
    width: 28px;
    height: 28px;
    font-size: 18px;
    display: flex;
    align-items: center;
}

.field--widget-entity-reference-paragraphs .draggable.expanded .paragraph-item-toggle:before {
    content: "\f63b";
    font-family: bootstrap-icons !important;
}

.focal-point-wrapper{ width: 100%;}
.focal-point-preview-link {
    border: 1px solid #ddd;
    border-radius: 5px;
    color: var(--title);
    font-weight: 500;
    margin: 5px 0px;
}
.file.file--mime-image-jpeg.file--image a {
    color: var(--paragraph);
}

.image-widget.js-form-managed-file.form-managed-file .focal-point-wrapper {
    position: static !important;
    height: auto;
    margin-bottom: 10px;
}

.dropbutton-multiple .dropbutton .secondary-action {
    margin-top: 5px;
}

.image-widget.js-form-managed-file.form-managed-file.clearfix .form-control {
    height: 35px;
}

div#edit-body-wrapper textarea#edit-body-0-value {
    margin-bottom: 1rem !important;
}

.control-field .form-required.form-label{ position: relative;}
.control-field .form-required.form-label:before {
    position: absolute;
    content: "*";
    color: #ea2e2e;
    right: -15px;
    font-size: 20px;
}

.form-control.error {border-color: #ea2e2e;}
.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items { flex-wrap: wrap !important;}
body .mobilebox .loader-modalButton { position: absolute;z-index: 1;}


.js .field--widget-entity-reference-paragraphs .dropbutton-wrapper .dropbutton-toggle button {
    border-top-right-radius: 8px;
    background: var(--primary-color);
    border-bottom-right-radius: 8px;
    border-left: 1px solid #4b1e50;
    height: 41px;
}

.js .field--widget-entity-reference-paragraphs .dropbutton-wrapper .dropbutton-widget {
    width: 100%;
    position: relative;
}

.js .field--widget-entity-reference-paragraphs .dropbutton-wrapper.dropbutton-multiple.open .dropbutton-arrow {
    margin-top: 5px;
}

.js .field--widget-entity-reference-paragraphs .dropbutton-wrapper.dropbutton-multiple .btn {
    min-width: 170px;
    width: 100%;
}

.js .field--widget-entity-reference-paragraphs .dropbutton-wrapper .dropbutton-toggle button .dropbutton-arrow {
    color: #fff;
}

.js .field--widget-entity-reference-paragraphs td .js-form-wrapper.form-wrapper.mb-3 .dropbutton-wrapper .dropbutton-toggle button {
    height: 28px;
}

.js .field--widget-entity-reference-paragraphs td .js-form-wrapper.form-wrapper.mb-3 .dropbutton-wrapper .dropbutton-toggle button {
    height: 28px;
}

.js .field--widget-entity-reference-paragraphs .dropbutton-wrapper .dropbutton-widget li:first-child .btn {
    z-index: 1;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.js .field--widget-entity-reference-paragraphs td .js-form-wrapper.form-wrapper.mb-3 .dropbutton-wrapper ul {
    display: flex;
    align-items: center;
}

.js .field--widget-entity-reference-paragraphs td .js-form-wrapper.form-wrapper.mb-3 .dropbutton-wrapper ul button {
    min-width: inherit;
    padding: 5px;
}

.js .field--widget-entity-reference-paragraphs td .js-form-wrapper.form-wrapper.mb-3 .dropbutton-wrapper ul li {
    margin: 0;
    background-color: transparent;
}

.js .paragraphs-collapsed-description:after {background: transparent !important;}


.paragraphs-subform .control-field .form-control, .paragraphs-subform .control-field .form-select {
    background-color: #fff;
}

nav.pager {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 30px 0px;
}

.pager__items.js-pager__items {
    display: inline-flex;
    align-items: center;
    box-shadow: 0px 10px 20px rgba(62, 33, 85, 0.3);
    background: #fff;
    justify-content: center;
    border-radius: 12px;
    overflow: hidden;
    padding: 8px;
    flex-wrap: wrap;
    gap: .5rem;
}

.pager__items.js-pager__items li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    border-radius: 6px;
    height: 32px;
    font-size: 14px;
    font-weight: 500;
    color: var(--paragraph, #6b6880);
    text-decoration: none;
    background-color: #fff;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}


li.pager__item.pager__item--previous {
    display: none;
}

li.pager__item.pager__item--next {
    display: none;
}

.pager__items.js-pager__items li.pager__item.is-active a {
    background: var(--primary-color);
    color: #fff;
}

.pager__items.js-pager__items .pager__item.pager__item--first a,
.pager__items.js-pager__items .pager__item.pager__item--last a {font-size: 0;}

.pager__items.js-pager__items .pager__item.pager__item--first a:before,
.pager__items.js-pager__items .pager__item.pager__item--last a:before {
    position: absolute;
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    top: 1px;
    left: 0;
    right: 0;
    font-size: 18px;
    bottom: 0;
    width: 32px;
    height: 32px;
    font-family: bootstrap-icons !important;
}

.pager__items.js-pager__items .pager__item.pager__item--first a:before{ content: "\f284";}
.pager__items.js-pager__items .pager__item.pager__item--last a:before{content: "\f285";}

.pager__items.js-pager__items li a:hover {
    background: var(--primary-color);
    color: #fff;
}

nav.pager.pagination-dark .pager__items.js-pager__items {
    background: #3E2155;
}

nav.pager.pagination-dark .pager__items.js-pager__items li a {
    background: transparent;
}

nav.pager.pagination-dark .pager__items.js-pager__items.is-active li a {
    background: var(--primary-color);
}

nav.pager.pagination-dark .pager__items.js-pager__items li.is-active a {
    background: var(--primary-color);
}



.paragraphs-dropbutton-wrapper .dropbutton-wrapper.dropbutton-multiple.open .dropbutton-arrow {
    margin-top: 0 !important;
}




.field--type-boolean.field--name-field-hide-shadow.field--widget-boolean-checkbox.js-form-wrapper.form-wrapper.mb-3 {
    margin-bottom: 10px !important;
}

.ajax-progress.ajax-progress-throbber {
    position: fixed;
    background: rgb(0 0 0 / 50%);
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
  }

  .ajax-progress-throbber .throbber {
    background-image:none;
    width: 56px;
    height: 56px;
    background-size: cover;
    border-radius: 20px;
    border: 11.2px #fff double;
    border-left-style: solid;
    border-radius: 50%;
    animation: spinner-aib1d7 0.75s infinite linear;
}

@keyframes spinner-aib1d7 {
    to {
       transform: rotate(360deg);
    }
 }


.membershipPage.anonymous .grid-membership-content .views-col.col-1{position: relative;}


@media screen and (max-width: 767px) {
button.paragraph-item-toggle { width: 16px; height: 16px;margin-top: -8px;border-radius: 3px;}
.js .field--widget-entity-reference-paragraphs .draggable .tabledrag-handle{ width: auto !important;}
.field--widget-entity-reference-paragraphs .draggable .paragraph-item-toggle:before{ font-size: 12px;}
.paragraphs-dropbutton-wrapper .btn{ font-size: 10px;}
.js .paragraph-type-title{ font-size: 12px;}
body .mobilebox:after { width: 261px;border-bottom-left-radius: 30px;border-bottom-right-radius: 30px;}
.js .paragraph-type-top {padding: 0px 30px 0px 0px;}
.card.card-social-bio .form-actions.js-form-wrapper.form-wrapper .btn.btn-primary {padding: 7px 10px;}
}




/* Pricing table css */

.view-memberships.view-display-id-page_2 .grid-membership-content {
    max-width: 1500px;
    margin: auto;
}

.subscription-plans .membershipPage .toggle {
    max-width: 520px;
}

.subscription-plans .membershipPage .pricing-columns.pricing-section {
    width: 100%;
    margin-left: 0;
}
body.subscription-plans .membershipPage .toggler--is-active {
    color: #fff;
    position: relative;
    z-index: 9;
}
.subscription-plans .toggle-main-block {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.subscription-plans .membershipPage .toggler {
    width: 50%;
    float: left;
    margin: 0;
}

.subscription-plans .membershipPage label.toggler--is-active {background-color: var(--primary-color);border-radius: 31px;}

.membershipPage .grid-membership-content {
    padding-left: 0;
}


.subscription-plans .view-memberships.view-display-id-page_2 .grid-membership-content .field--name-title {
    color: var(--title);
    text-transform: capitalize;
    text-align: center;
    font-weight: bold;
    font-size: 25px;
}

.subscription-plans .membershipPage.view-memberships.view-display-id-page_2 .grid-membership-content .views-col {
    border: 0 !important;
    border-top: 20px solid var(--title)!important;
    box-shadow: 0 20px 27px 0 rgba(0,0,0,.05);
    border-radius: 17px;
}

.subscription-plans .membershipPage .grid-membership-content .views-col.col-1.active{ border-radius: 17px;}

.subscription-plans .membershipPage.view-memberships.view-display-id-page_2 .grid-membership-content .col-1:last-child {
    border-left: 0px solid #edeef2 !important;
    border-right: 0px solid #edeef2 !important;
}

.subscription-plans .membershipPage.view-memberships.view-display-id-page_2 .grid-membership-content .views-col {
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 30px;
    position: relative;
}

.subscription-plans .membershipPage.view-memberships.view-display-id-page_2 .grid-membership-content .views-col .your-current-plan {
    font-size: 16px;
    min-height: 44px;
    color: #7d7979;
}

.subscription-plans .membershipPage h3.price {
    color: #000;
    font-size: 35px;
    font-weight: 700;
}

.subscription-plans .register-button {
    width: 100%;
    display: inline-block;
}

body.subscription-plans .subs-table-block.subsc_plans ul, body.subscription-plans ul.subs-lists {
    list-style-type: none;
    padding: 0;
    margin-bottom: 0;
    text-align: center;
    margin-top: 40px;
}


.subscription-plans .membershipPage.view-memberships.view-display-id-page_2 .grid-membership-content .field--name-field-description.priceDesc{ padding: 15px;}

body.subscription-plans ul.subs-lists li { padding: 20px 10px; color: #000;}

body.subscription-plans ul.subs-lists li:nth-child(odd) {
    background: #f7f7f7f7;
}

.subscription-plans .membershipPage .bestValue {
    left: 0;
    border: 0px;
    background: var(--secondary-color);
}
.subscription-plans .membershipPage .grid-membership-content .views-col.col-1.active{ background-color: #fff;}
.subscription-plans .membershipPage .grid-membership-content .active .field--name-field-description.priceDesc {
    color: #7d7979;
}

.subscription-plans .view-memberships.view-display-id-page_2 .grid-membership-content .active .field--name-title {
    color: var(--title);
}

.subscription-plans .membershipPage .grid-membership-content .active .field--name-field-description.priceDesc {
    background: #fff;
    border: 0;
    color: #7d7979;
}

body.subscription-plans .subscription-plans .view-memberships.view-display-id-page_2 .grid-membership-content .active .dollar-wrapper h3 {
    color: #000;
}


.subs-plus-blocks div#block-subscriptionblocks>div {
    display: flex;
}


.plan-wrapper {
    padding: 40px 0 0;
    background: #fff;
    border-radius: 17px;
    border-top: 20px solid var(--title)!important;
    text-align: center;
    height: 100%;
    box-shadow: 0 20px 27px 0 rgba(0, 0, 0, .05);
}

.subs-plus-blocks {
    max-width: 1000px;
    margin: auto;
}

.subs-plus-blocks [class*=col-] {
    padding: 0px 10px;
}


body.subscription-plans .plan-wrapper .plan-title h2 {
    color: var(--title);
    font-size: 25px;
    text-transform: capitalize;
    font-weight: bold;
}

body.subscription-plans .plan-wrapper .plan-content {
    max-width: 60%;
    margin: 25px auto 25px;
    line-height: 1.4;
    font-size: 14px;
    color: #7d7979;
}

body.subscription-plans .plan-wrapper .plan-price h1 {
    font-size: 35px;
    color: #000;
    font-weight: bold;
}

body.subscription-plans .plan-wrapper .plan-price h1 sup {
    font-size: 18px;
    position: relative;
    top: -10px;
}

body.subscription-plans .plan-wrapper .plan-price h1 sub {
    bottom: -.25em;
}

body.subscription-plans .plan-links.register-button {
    margin: 40px 0;
    min-height: 65px;
}

body.subscription-plans ul.subs-list li {
    padding: 20px 10px;
    color: #000;
}

body.subscription-plans ul.subs-list li:nth-child(odd) {
    background: #f7f7f7f7;
}

body.subscription-plans .plan-links.register-button.free-role {
    display: none;
}


.subscription-plans .membershipPage .register-button .button {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #fff !important;
    border: 1px solid var(--primary-color) !important;
    border-radius: 4px !important;
}
body.subscription-plans .membershipPage .switch { background-color: var(--primary-color);}


body.subscription-plans {
    background: var(--primary-light);
}

.billed-text {
    color: #7d7979;
    font-size: 12px;
    font-weight: 600;
    margin-top: 10px;
}

.subscription-plans .membershipPage .active .register-button .button {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
}

.subscription-plans .membershipPage .active .register-button .button:before {
    border: 3px solid transparent;
}


@media screen and (max-width: 767px) {
.view-memberships.view-display-id-page_2 .grid-membership-content .views-col {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;

}
.subscription-plans .membershipPage.view-memberships.view-display-id-page_2 .grid-membership-content .views-col { margin-left: 0;
    margin-right: 0;
}
.subs-plus-blocks div#block-subscriptionblocks>div {display: block;}
.subs-plus-blocks [class*=col-] {padding: 0 0px;}

}

#Scheduled-posts-root td:nth-child(5) .popup-wrapper,
#Scheduled-posts-root td:nth-child(6) .popup-wrapper,
#Scheduled-posts-root td:nth-child(7) .popup-wrapper {
    left: auto;
    right: 0;
}
.content-wrapper {font-size: 10px;font-weight: 500;word-wrap: normal;}
.content-wrapper .title {
    font-size: 10px;
    text-align: left;
    word-break: break-word;
    display: block;
    white-space: normal;
}

#Scheduled-posts-root .fc-daygrid-day-frame .fc-daygrid-day-top .popup-wrapper .start{ text-align: left;}
#Scheduled-posts-root .fc-daygrid-day-frame .fc-daygrid-day-top .popup-wrapper .end {
    text-align: left;
}


#Scheduled-posts-root .fc .fc-daygrid-day-number{ height: 100%;}
.event-count {font-size: 11px;font-weight: 500;}

.fc .fc-daygrid-day-number{ z-index: inherit !important;}
#Scheduled-posts-root .fc-daygrid-day-frame .fc-daygrid-day-top .popup-wrapper .popup-menu.ts-plannerAddButton {
    position: relative;
    z-index: 4;
    background-color: #fff;
}




.sec-user-membership-main .user-form {display: flex;position: relative;padding-bottom: 60px;}
.sec-user-membership-main .user-form fieldset.card {
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
    background: transparent;
    position: relative;
    padding-top: 0px;
}

.sec-user-membership-main .user-form fieldset.card .fieldset-wrapper {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    padding-top: 50px;
    height: 100%;
}

.sec-user-membership-main .user-form fieldset.card legend {
    position: absolute;
    left: 30px;
    top: 10px;
    margin: 0;
    display: flex;
    width: auto;
}



.sec-user-membership-main .user-form fieldset.card .fieldset-wrapper .fieldset-wrapper {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

.sec-user-membership-main .user-form fieldset.card .fieldset-legend {
    font-size: 18px;
    color: var(--title);
    font-weight: bold;
}

.form-item-field-billing-address-0-address-address-line1, .form-item-field-billing-address-0-address-address-line2, .form-item-field-billing-address-0-address-address-line3 {
    margin-bottom: 15px;
}

.sec-user-membership-main .control-field .form-label {
    color: var(--Paragraph);
    font-weight: 500;
}

.sec-user-membership-main .mb-3 { margin-bottom: 0px !important;}
.sec-user-membership-main .js-form-item {margin-bottom: 15px !important;}
.sec-user-membership-main .mb-3.col-xl-6 {float: left;}
.sec-user-membership-main .field--name-field-first-name {padding-right: 10px;}
.sec-user-membership-main .field--name-field-last-name { padding-left: 10px;}

.sec-user-membership-main .user-form .form-actions.js-form-wrapper.form-wrapper {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    bottom: 0;
}

.sec-user-membership-main .col-md-12 {padding: 0px;}
.sec-user-membership-main .control-field .form-select {font-weight: normal; color: var(--paragraph);}
.sec-user-membership-main details#edit-timezone {width: 100%;}

.sec-user-membership-main .user-form .form-actions.js-form-wrapper.form-wrapper .btn {
    min-width: 150px;
}


.my-promo-page .video-box.script-box {
padding-top: 42%;
background-image: url(../images/video-script-bg.png);
}

.login-register-sec .sec-audience-main .audience-col-9 .settings-tray-editable {
    margin-top: 15px;
}

.login-register-sec .sec-audience-main .audience-col-9 .settings-tray-editable a {
    color: var(--primary-color);
}

.submit-icon-wrapper img { display: none;}


.control-field .form-control.form-radio {
    border-radius: 50%;
    width: 25px;
    height: 25px;
    vertical-align: top;
    background-color: var(--primary-light);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    padding: 4px;
    position: absolute;
    left: 0;
    top: 0;
    cursor: pointer;
}

.control-field .form-control.form-radio:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.strem-wrapper.card .btn.btn-secondary {margin-left: 10px;}
.strem-wrapper.card .js-form-item .option.form-label {
font-weight: 500; cursor: pointer;}
.strem-wrapper.card .js-form-item .option.form-label img { flex: 0 0 25px;max-width: 25px;min-width: 25px;margin-right: 10px;}


fieldset#edit-review-payment-information {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border-radius: .25rem;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 16px;
}

.strem-wrapper.card .fieldset-wrapper {
    padding-top: 60px;
}

.strem-wrapper .dataTables_length {
    position: absolute;
    left: 20px;
    top: 20px;
}

.strem-wrapper .dataTables_length select {
    font-size: 14px;
    color: #313234;
    height: 40px;
    border-radius: 8px;
    background-color: var(--primary-light);
    padding: 6px 11px;
    border: 1px solid #dddd;
    box-shadow: none;
    margin: 0px 5px;
}

.strem-wrapper .dataTables_filter input {
    font-size: 14px;
    color: #313234;
    height: 40px;
    border-radius: 8px;
    background-color: var(--primary-light);
    padding: 6px 11px;
    border-color: var(--primary-light);
    box-shadow: none;
    border: 1px solid #dddd;
    outline: none !important;
    margin-left: 10px;
}

.strem-wrapper .dataTables_filter {
    position: absolute;
    right: 20px;
    top: 20px;
}


.strem-wrapper.card table {
    width: 100%;
}

.strem-wrapper.card table th {
    font-size: 14px;
    line-height: 16px;
    color: var(--paragraph);
    font-weight: 500;
    border: none;
    padding: 15px 15px 15px 24px;
    background-color: var(--primary-light);
}

.strem-wrapper.card table td {
    font-size: 14px;
    line-height: 16px;
    color: var(--paragraph);
    font-weight: 500;
    border: none;
    padding: 10px;
}

.strem-wrapper.card table td .form-control {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    vertical-align: top;
    background-color: var(--primary-light);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    padding: 4px;
    cursor: pointer;
    display: inline-block;
    margin-right: 10px;
    margin-top: 4px;
}

.strem-wrapper.card table td .form-control:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}


.dataTables_info {
    float: left;
    margin-bottom: 30px;
}

.dataTables_paginate.paging_simple_numbers {
    float: right;
    margin-bottom: 30px;
}

.dataTables_paginate.paging_simple_numbers .paginate_button {
    border: 1px solid var(--primary-color);
    margin: 0px 2px;
    padding: 5px 10px;
    border-radius: 3px;
    color: var(--primary-color);
    cursor: pointer;
    font-weight: 500;
    background-color: var(--primary-light);
}


#user-script .block-header {padding-right: 140px;}
#user-script .views-form .form-actions.js-form-wrapper.form-wrapper {
 text-align: right; position: relative; top: 15px;}
#user-script .views-form [class*=col-] ~ .form-actions {display: none;}
#user-script .views-form { margin-top: -82px;}

#user-script .views-form .js-form-type-select {display: none;}

.access-denied div.ui-widget.ui-widget-content {width: 200px !important;}
.access-denied .dashaboard-main {
    height: calc(100vh - 70px);
    align-items: center;
    min-height: 500px;
}



.achived-achievements-wrapper.card fieldset { padding: 0px;}
.achived-achievements-wrapper.card fieldset .legend {
    font-size: 16px;
    font-weight: 700;
    color: var(--title);
    padding-bottom: 0;
}
.achived-achievements-wrapper.card fieldset [class*='col-']{margin-top: 10px;}
.achieve-block {box-shadow: none !important;border: 1px solid #ddd;border-radius: 12px;margin-bottom: 0px;padding: 10px;}
.achieve-img {
    width: 100px;
    flex: 0 0 90px;
    max-width: 90px;
    min-height: 72px;
    background: var(--primary-light);
    border-radius: 8px;
    margin-right: 0;
    width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.achieve-img img {width: 40px;}
.achieve-block h3 {
    font-size: 13px !important;
    font-weight: 700;
    color: var(--title);
    margin-bottom: 5px;
}
.path-user-achievements div#upcoming-achievements-block-wrapper .row {display: flex;}

.latest_milestone_wrapper > .title, .next_milestone_wrapper > .title {padding-bottom: 0;}
.achived-achievements-wrapper .achieve-block { box-shadow: none !important; margin-bottom: 0;}

fieldset.latest_milestone_wrapper,
fieldset.next_milestone_wrapper {
    padding: 12px;
}

fieldset.latest_milestone_wrapper [class*='col-'],
fieldset.next_milestone_wrapper [class*='col-']{
  margin-top: 10px;
}
.achieve-block .achieve-cont .achievement-title {
    text-transform: capitalize;
    font-size: 13px !important;
    font-weight: 700;
    color: var(--title);
    margin-bottom: 5px;
}
.achieve-cont #achievement-body .count-left {
    display: inline-block;
    font-weight: 700;
    color: var(--paragraph);
}

fieldset.latest_milestone_wrapper>.views-row { box-shadow: none !important;}
.User-achievement-Notify-Popup .modal-content {padding: 20px 15px;}
body.path-user-achievements button#User-Channel-Notify-Popup-Close {
    position: absolute;
    top: 12px;
    right: 8px;
    width: 30px;
    height: 30px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 50%;
}


body.path-user-achievements button#User-Channel-Notify-Popup-Close:before {
    position: absolute;
    content: "\f659" !important;
    font-family: bootstrap-icons !important;
    top: 0;
    left: 0;
    right: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--paragraph, #6b6880);
}


.download_wrapper .selectbxAchivement select {
    border-radius: 8px;
    padding: 3px 10px 3px 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

#dashboard-download-latest-achievement{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.download_wrapper .selectbxAchivement {
    background: var(--primary-color);
    border-radius: 8px;
}
.download_wrapper .selectbxAchivement:hover{ background-color: #481e4d;}

.selectbxAchivement svg {
    width: 20px;
    margin-right: 8px;
    vertical-align: -3px;
    min-width: 20px;
    position: absolute;
    right: 5px;
    top: 11px;
    pointer-events: none;
}

.download_wrapper .selectbxAchivement svg {fill: white; top:7px;}


.download_wrapper .selectbxAchivement::before {
    background: var(--primary-color);
    overflow: hidden;
}


.selectbxAchivement:hover{background-color: #481e4d;}

.selectbxAchivement svg {
    width: 20px;
    margin-right: 8px;
    vertical-align: -3px;
    min-width: 20px;
}


.selectbxAchivement svg{fill: white;}


.dashboardMilestoneSelect,
.select-achievements-popup{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: stretch;
    gap: 3px;
    margin-top: 12px;
}
.dashboardMilestoneSelect {
    margin: 0px;
}
.modal-footer .dashboardMilestoneSelect .btn {
     min-width: unset;
}
#canvas-modal .modal-body,
#canvas-modal .modal-footer{
   padding: 16px;
}

.dashboardMilestoneSelect .btn.btn-primary.download-milestone{
    padding: 10px 18px;
}
.share-dropdown {
    border-radius: 16px;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175);
    margin-top: 8px !important;
    position: absolute;
    z-index: 1000;
    display: none;
    min-width: 10rem;
    padding: .5rem 0;
    font-size: 1rem;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
}
.selectbxAchivement::after {
/*    content: "\203A";
    position: absolute;
    right: 7px;
    top: 40%;
    width: 10px;
    height: 11px;
    font-weight: 600;
    transform: rotate(87deg);*/
}
.share-dropdown li a {
    font-size: 13px;
    font-weight: 500;
    color: var(--title);
    padding: 7px 13px;
    display: flex;
}
#ts-my-account-certificateDownloadButton-select{
    padding: 5px 10px 4px 10px;
    color: #ffffff;
    background: var(--primary-color);
    border-radius: 8px;
    -webkit-appearance: none; /* Chrome, Safari, Opera */
    -moz-appearance: none;    /* Firefox */
    appearance: none;    
}
.path-user-achievements #User-achievement-Notify-Popup .selectbxAchivement svg {
    top: 6px;
}
.selectbxAchivement::before{ background: var(--primary-color);}
.achived-achievements-wrapper.card {margin-bottom: 26px;}

.dashboard-header .container.guided-search-page .result-page-title {
    display: none;
}


.dashaboard-inner.search-result-page { margin-top: 50px;}
.dashaboard-inner.search-result-page .result-page-title {
    font-size: 25px;
    font-weight: 700;
    color: var(--title);
    text-align: center;
    margin-bottom: 30px;
}

.dashaboard-inner.search-result-page .container { max-width: 1000px;}

.dashaboard-inner.search-result-page form {background: #fff;padding: 10px;border-radius: 12px;margin-bottom: 30px;}
.card.result-row {margin-bottom: 16px;}
.card.result-row h4 {font-size: 16px;font-weight: 700;color: var(--title);}
.card.result-row h4 a {color: var(--title);}
.card.result-row h4 a:hover {color: var(--secondary-color);}
.card.result-row p {margin-bottom: 0;margin-top: 5px;}

.user-register fieldset.card { padding: 0;}

.menuicon img {width: 20px !important;}


@media screen and (max-width: 1199px) {
.sec-user-membership-main .field--name-field-first-name {padding-right: 0;}
.sec-user-membership-main .field--name-field-last-name {padding-left: 0;}
.achived-achievements-wrapper.card fieldset [class*=col-] { width: 100%;}
fieldset.latest_milestone_wrapper [class*=col-],
fieldset.next_milestone_wrapper [class*=col-]{ width: 100%;}
}

@media screen and (max-width: 991px) {
.sec-user-membership-main .user-form{ display: block;}
.sec-user-membership-main .mb-3.col-xl-6{ float: none;}
.sec-user-membership-main .user-form fieldset.card {flex: 0 0 100%;max-width: 100%;width: 100%;}
}


@media screen and (max-width: 767px) {
#Scheduled-posts-root .fc .fc-daygrid-day-number{ font-size: 12px;}
.strem-wrapper .dataTables_length { position: static;text-align: center;margin-bottom: 10px;}
.strem-wrapper .dataTables_filter {position: static;margin-bottom: 20px; text-align: center;}
.strem-wrapper.card .fieldset-wrapper {padding-top: 0;}
#user-script .views-form .form-actions.js-form-wrapper.form-wrapper {top: 0;}
#user-script .block-header {padding-right: 0;}
#user-script .views-form {margin-top: 0;}
.access-denied .dashaboard-inner .views-element-container{ position: static;}
.access-denied #block-views-block-guided-search-guided-search-block-2 .mb-3 input[type='text']{width: 100%;}
.fig-imgbox img {width: 150px;height: 150px;}
.access-denied .dashaboard-main { height: auto;align-items: center; min-height: inherit;}
}





/* Script edit page css start */
.page-node-type-video-script-template .whtBox h5 {
    font-size: 13px;
    font-weight: 500;
    color: var(--title);
}

.paragraph-script-wrapper.videoscript-border-radius>div {
    padding: 8px;
    min-width: 120px;
    text-align: left;
}

.paragraph-script-wrapper.videoscript-border-radius {
    border: 0;
}

.page-node-type-video-script-template .script-desc.disc.script-desc-custom {
    font-size: 15px;
    font-weight: bold;
    margin-top: 3px;
}

.paragraph-script-wrapper.videoscript-border-radius {
    margin-right: 16px !important;
    margin-bottom: 10px;
}

.Estimated-clone-edit .clock-icons {
    display: flex;
    width: max-content;
    padding: 0px;
    align-items: center;
    height: auto;
}

.Estimated-clone-edit .clock-icons p {
    margin: 0px;
}

.Estimated-clone-edit .estimated-inner {
    display: flex;
    font-size: 12px;
    font-weight: 500;
}

.Estimated-clone-edit .select {
    background-color: #f8f5f8;
    padding: 6px 10px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    margin: 0px 8px;
}

.Estimated-clone-edit .select select {
    border: 0;
    background: transparent;
    font-size: 12px;
    font-weight: bold;
    color: var(--primary-color);
    min-width: 100px;
}

.Estimated-clone-edit .select img {
    margin-right: 5px;
}

.page-node-type-video-script-template .commonRed_Head {
    width: 100%;
    display: flex;
    align-items: center;
}

.top-para-wrapper {
    display: flex;
    margin-bottom: 15px;
}

.Estimated-clone-edit {
    margin-left: auto;
    width: auto;
}

.clone-head {
    padding: 10px;
    border-radius: 5px;
    background: #fff;
    margin: 20px 0px;
}

.page-node-type-video-script-template .commonRed_Head h3 {
    color: var(--title) !important;
    font-weight: bold;
    font-size: 14px;
}

.page-node-type-video-script-template .commonRed_Head .edit-title-icon {
    display: flex;
    order: 1;
    white-space: nowrap;
    margin-left: auto;
    cursor: pointer;
}

.head-wrap-main {
    display: flex;
    margin: 0;
    padding: 0px;
}

.head-wrap-main .whtBox.card {
    flex: 1;
}

.head-wrap-main .whtBox.card.col-lg-3 {
    flex: 0 0 244px;
    max-width: 244px;
    width: 244px;
    margin-left: 16px;
    justify-content: center;
    padding: 16px;
}


.custom-print-video-script, .section-add-button a {
    font-size: 12px;
    font-weight: bold;
    color: var(--primary-light);
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center;
    padding: 6px;
    border-radius: 8px;
    height: 30px;
    background-color: var(--primary-color);
}

.custom-print-video-script i {
    margin-right: 9px;
    color: var(--title);
    font-size: 14px;
}

.custom-print-video-script {
    position: relative;
    padding-left: 36px;
}

.custom-print-video-script:hover i {
    color: #fff;
}

.head-wrap-main .whtBox.card.col-lg-3 .undo-wrapper .btn svg {margin-right: 8px;width: 13px;height: auto;}
.head-wrap-main .whtBox.card.col-lg-3 .undo-wrapper .btn svg path {stroke: var(--title);}
.head-wrap-main .whtBox.card.col-lg-3 .undo-wrapper .btn:hover svg path{ stroke: #fff;}

.custom-print-video-script img, .section-add-button a img {
  margin-right: 6px;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.page-node-type-video-script-template a.use-ajax.script-btn.custom-video-script-add-section {
  padding:6px;
  border-radius: 8px !important;
  display: flex !important;
  line-height: normal;
  color: var(--primary-light) !important;
  height: 30px;
  position: relative;
  padding-left: 36px;
  background-color: var(--primary-color);
}
.script-page-button-wrapper a:before {
  content: '';
  position: absolute;
  border-radius: 8px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
.script-page-button-wrapper a:hover:before {
  -webkit-animation-name: hvr-ripple-primary-out;
  animation-name: hvr-ripple-primary-out;
}
.script-page-button-wrapper a:hover {
  color: var(--primary-light);
}
.script-page-button-wrapper a, .script-page-button-wrapper button {
    margin-bottom: 10px !important;
}
.script-page-button-wrapper a.o-bg {
    background-color: var(--secondary-color);
}

.script-timeline-save-wrapper .btn.btn-primary {
    display: flex;
    width: 100%;
    font-size: 12px;
    font-weight: bold;
    padding: 6px;
    color: var(--primary-light);
    background-color: var(--primary-color);
    align-items: center;
    position: relative;
    padding-left: 36px;
    border-radius: 8px;
}

.script-timeline-save-wrapper .btn.btn-primary img {
    margin-right: 5px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.page-node-type-video-script-template .commonRed_Head .edit-title-icon img {
    margin: 0 !important;
    margin-right: 8px !important;
}

.script-main-container> .row {
    margin: 0;
}

.page-node-type-video-script-template .video-script-template-editing .video-script-template .paragraph.whtBox {
    flex: 1;
    max-width: 100%;
    margin: 0;
    padding: 0px;
}

.page-node-type-video-script-template .video-script-template-editing .content .field--item .commonRed_Head {
    position: relative;
    flex: 0 0 244px;
    max-width: 244px;
    margin-left: 16px;
    padding: 16px;
    color: var(--paragraph);
    font-size: 13px;
    display: flex;
}

.tokens-button-wrapper {
    width: 100%;
}

.page-node-type-video-script-template .content .field--item .commonRed_Head {
    border-top-left-radius: 12px !important;
}

.page-node-type-video-script-template .content .field--item .commonRed_Head {
    border-top-left-radius: 12px !important;
}

.page-node-type-video-script-template .element-item.ele_content_section {
    width: 100%;
    border-top: 3px solid;
    padding: 16px !important;
    background-color: #fff;
    border-radius: 12px;
}

.script-main-container .content {
    padding: 0;
}

.script-main-container .content .video-scripting .row {
    margin: 0px !important;
}

.page-node-type-video-script-template .video-script-template-editing .ui-state-default {
    border: 0;
}

.page-node-type-video-script-template .video-script-template-editing .ui-state-default.drag-update {
    box-shadow: 0px 6px 7px 1px var(--primary-color);
}


.page-node-type-video-script-template .video-script-template-editing .video-script-template .paragraph.whtBox .row {
    height: 100%;
}

.page-node-type-video-script-template .info-script .paragraph-info p {
    font-size: 13px !important;
    color: var(--paragraph);
    line-height: normal !important;
    margin-bottom: 3px !important;
}

.page-node-type-video-script-template .info-script .paragraph-info span span {
    color: #2BC485;
}

.page-node-type-video-script-template .info-script .paragraph-info p b {
    font-weight: normal;
}

.page-node-type-video-script-template .video-script-template-editing .content .field--item .commonRed_Head .secquery-name {
    margin-bottom: 10px;
    display: block;
    width: 100%;
}

.page-node-type-video-script-template .content .field--item .commonRed_Head .paragraph-info hr {
    margin: 8px 0px;
}

.page-node-type-video-script-template .bgBox.smart_token_wrapper {
    border-radius: 0;
    box-shadow: none;
    border: 0;
    padding: 0;
}

.commonRed_Head .ai-btn-box {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #F2EEF8;
    padding-top: 8px;
    width: 100%;
    margin-top: auto !important;
}

.page-node-type-video-script-template.page-node-type-video-script-template div.ai-btn-box button {
    padding: 0 !important;
    font-size: 12px;
    font-weight: 500;
    border: 0;
}

.page-node-type-video-script-template.page-node-type-video-script-template div.ai-btn-box button img {
    width: 16px;
    margin-right: 5px;
}

.page-node-type-video-script-template .video-script-template-editing .content .field--item .commonRed_Head .button-wrapper-tokens {
    justify-content: space-between;
}

.d-flex.side-bottom-button-wrapper {
    justify-content: space-between;
    align-items: center;
    padding-bottom: 8px;
    margin-top: 8px;
}

.d-flex.side-bottom-button-wrapper [role=button] {
    font-size: 12px;
    font-weight: 500;
    color: var(--primary-color);
    background-color: #f8f5f8;
    padding: 5px 10px;
    border-radius: 6px;
    white-space: nowrap;
}

.page-node-type-video-script-template .video-script-template-editing a.smartcontetntlink {
    font-size: 12px;
    font-weight: 500;
    margin: 0px;
    padding: 0;
    border: 0;
    color: #F26419 !important;
}

.video-script-template-editing .edit_remove_script_btn {
    margin-left: 0px;
}

.video-script-template-editing .smart_token_wrapper .customNew-Accordian .project-custom-tag.custom_tags {
    width: 100%;
    border: 1px solid #ddd;
    padding: 7px;
    border-radius: 5px;
}

.cke_top {
    background: #F2EEF8 !important;
    padding: 8px;
    white-space: normal;
    border-bottom: 0 !important;
    border-radius: 6px;
}

.page-node-type-video-script-template .video-script-template-editing .drag-icon.reorder-down {
    bottom: 30px;
    top: auto;
    left: 28px;
    cursor: move;
}

.video-script-template-editing .edit_remove_script_btn {
    top: auto !important;
    bottom: 24px !important;
    position: absolute;
    left: 28px !important;
}

body.page-node-type-video-script-template button.save-title-btn {
    color: #fff;
    padding: 4px 9px;
    background: var(--primary-color);
    margin-right: 10px;
    font-weight: 500;
    font-size: 12px;
    border-radius: 4px;
}

body.page-node-type-video-script-template button.save-title-btn:hover {
    background: var(--primary-color);
}

.page-node-type-video-script-template .commonRed_Head input {
    border: 1px solid #cecdcf;
    border-radius: 5px;
    width: 100%;
    max-width: 500px;
    background-color: #f2eef8;
    outline: none !important;
}

.page-node-type-video-script-template .ui-dialog .ui-widget-header span.ui-dialog-title {
    left: 0;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 0;
    font-family: 'Satoshi';
    width: 100%;
}

.page-node-type-video-script-template .ui-dialog .control-field .form-select {
    margin-bottom: 15px;
    font-family: 'Satoshi';
}




.page-node-type-video-script-template .js-form-item.form-item.js-form-type-checkbox {
    margin-bottom: 15px;
}

a.cke_button:hover {
    background-color: #fff !important;
    border-color: #fff !important;
    cursor: pointer !important;
}

body.page-node-type-video-script-template .throbber {
    position: absolute !important;
    top: 0px !important;
    left: 20px !important;
    z-index: 10 !important;
    right: 0 !important;
    margin: 0 auto !important;
    top: 50% !important;
}

.page-node-type-video-script-template .ui-dialog .button.btn-primary {
    background: var(--primary-color) !important;
}
.page-node-type-video-script-template .ui-dialog .button.btn-primary:hover{background-color: #481e4d !important;}

.custom-edit-video-script {line-height: 1.1 !important;display: flex;align-items: center;margin-left: auto;width: 151px;text-align: center;justify-content: center;border: 1px solid #ddd;background: var(--primary-color);color: #fff;padding: 6px;border-radius: 4px;font-weight: 500;font-size: 13px; cursor: pointer;}
.custom-edit-video-script img {filter: brightness(100);margin-right: 5px; cursor: pointer;}

.video-scripting .paragraph-script .script-desc {color: var(--paragraph);}

.dashboard-header .views-exposed-form .form-item { width: max-content;}

.page-node-type-video-script-template .smart_token_wrapper .customNew-Accordian .custom_tags a {
    background: var(--primary-color);
    color: var(--bs-white) !important;
    font-size: 12px;
    margin: 2px;
    padding: 2px 4px;
    display: inline-block;
    font-weight: 500;
    border-radius: 5px;
}

.cke_wysiwyg_frame, .cke_wysiwyg_div {
    margin: -20px -8px;
}

.page-node-type-video-script-template .ui-dialog .ui-widget-header .ui-dialog-titlebar-close:after {
    font-size: 0px;
}

/* for white color */
.script-add-section-form #type-info-tag{ color: var(--paragraph);}
.script-add-section-form #type-info-tag h6{ margin-bottom: 5px;}
.script-add-section-form #type-info-tag h6 b {font-weight: normal;}

.page-node-type-video-script-template .script-modal .status-message-modal{ margin-bottom: 0px; }

.page-node-type-video-script-template .ui-dialog .ui-widget-header span.ui-dialog-title,
.page-node-type-video-script-template .ui-dialog .control-field .form-label
{ color: var(--title);}

.page-node-type-video-script-template .script-modal .ui-widget-header{ color: var(--title);}



.page-node-type-video-script-template .script-modal .ui-widget-header span.ui-dialog-title {
    font-family: inherit;
    background: 0 0;
    border: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--title);
}

.page-node-type-video-script-template .script-modal .control-field .form-select {
    font-family: inherit;
}

.page-node-type-video-script-template .script-modal .control-field .form-label{ color: var(--paragraph);}

/* Smart token text modal */

body div.ui-dialog.smart-token-modal {width: 1170px !important;}
.ui-dialog.smart-token-modal .sub-cate-wrapper.accordion-item {
    border: 1px solid rgba(0,0,0,.125);
    padding: 5px 10px;
    border-radius: 5px;
}

.ui-dialog.smart-token-modal .control-field .form-label{color: var(--paragraph);}
.ui-dialog.smart-token-modal .sub-cate-wrapper.accordion-item .accordion-btn {
    width: 23px;
    height: 23px;
    margin-left: 10px;
    position: relative;
}

.ui-dialog.smart-token-modal .accordion-header .accordion-btn::before {
    content: "\f63b";
    font-family: bootstrap-icons !important;
    border: 1px solid var(--primary-light);
    background-color: var(--primary-light);
    width: 23px;
    height: 23px;
    position: absolute;
    top: 0;
    margin-top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    font-size: 20px;
    justify-content: center;
    font-weight: 700;
    border-radius: 2px;
    color: var(--title);
    opacity: 1;
}

.ui-dialog.smart-token-modal .accordion-header  .accordion-btn.collapsed::before {
    content: "\f4fe";
    font-family: bootstrap-icons !important;
}

.ui-dialog.smart-token-modal .sub-cate-wrapper.accordion-item legend { margin: 0;}
.ui-dialog.smart-token-modal .d-flex.group-col-box .d-flex.group-col-box {margin-bottom: 0px;}
.ui-dialog.smart-token-modal .d-flex.group-col-box .js-form-item.form-item {margin-bottom: 5px;}







@media screen and (max-width: 1199px) {
.top-para-wrapper {flex-direction: column;align-items: start;}
.Estimated-clone-edit{ margin-left: 0px;}
.Estimated-clone-edit .estimated-inner {flex-direction: column;}
.main-content__section {z-index: 1;}
}

@media screen and (max-width: 991px) {
.page-node-type-video-script-template .video-script-template-editing .video-script-template .paragraph.whtBox{ order: -1;}
.page-node-type-video-script-template .field--item .script-wrapper {flex-direction: column;}
.page-node-type-video-script-template .video-script-template-editing .content .field--item .commonRed_Head {
    flex: 0 0 100%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 5px;
}

.page-node-type-video-script-template .video-script-template-editing .drag-icon.reorder-down {
    bottom: auto;
    top: 15px;
    height: 22px;
    transform: translate(0px, 2px);
}

.cke_top { padding-top: 35px !important;}

}

@media screen and (max-width: 767px) {
.head-wrap-main{ display: block;}
.head-wrap-main .whtBox.card.col-lg-3 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-top: 15px;
}
.paragraph-script-wrapper.videoscript-border-radius {margin-right: 10px !important; margin-bottom: 10px !important;}
.page-node-type-video-script-template .commonRed_Head{ flex-direction: column; align-items: center;}
.page-node-type-video-script-template .commonRed_Head .edit-title-icon{ margin-left: 0; margin-top: 10px;}
.video-scripting { padding: 0px 0;}
.page-node-type-video-script-template .commonRed_Head input{ width: 100%; margin-bottom: 10px;}

.page-node-type-video-script-template .ui-dialog.smart-token-modal .sub-cate-wrapper.accordion-item .d-flex.align-items-center.ms-3 {
    margin-left: 5px !important;
}
.page-node-type-video-script-template .ui-dialog.smart-token-modal .ui-dialog-content {padding: 10px;}

}
/* Script edit page css end */

/* video-planner page css start */

.path-video-planner .whitebox_outerwrapper.card {padding: 24px;}
/* Colour dropped: it restated the orange this button already gets from its
   role class. What is left is the layout this page actually needs. */
.path-video-planner .block-header .btn.btn-secondary {
display: flex;
align-items: center;
z-index: 1;}


.path-video-planner .block-header .btn.btn-secondary img {margin-right: 5px;}

.path-video-planner .fc-toolbar.fc-header-toolbar .fc-button-group>.fc-button {
    border-radius: 4px;
    background: #feefe8;
    /* Border was the fill's own value, so these had no visible edge against
       the card. Same fix as the scheduled-posts calendar: the brand orange is
       already the arrow colour here and is 3.18:1 on white, so it clears the
       3:1 a boundary needs without introducing a new colour. */
    border-color: #f26419;
    color: #f26419;
    font-weight: 500;
    text-transform: capitalize;
}
.path-video-planner .fc-toolbar.fc-header-toolbar .fc-button-group>.fc-button::before{ border: 3px solid transparent;}

.path-video-planner .fc-toolbar.fc-header-toolbar .fc-button-group>.fc-button.fc-button-active {
    background: #f26419;
    color: #fff;
}

.path-video-planner .fc-toolbar.fc-header-toolbar .fc-button-group>.fc-button+.fc-button {
    margin-left: 3px;
}

.path-video-planner .fc-toolbar.fc-header-toolbar .fc-button-group>.fc-button:hover {
    background: #f26419;
    color: #fff;
}


.path-video-planner .fc-toolbar.fc-header-toolbar .fc-today-button.fc-button {
    background: #f2eef8;
    color: var(--primary-color);
    font-weight: bold;
    font-size: 12px;
    text-transform: capitalize;
    /* Was #f2eef8, its own fill. #6f6786 is the house quiet-control border. */
    border-color: var(--ts-border-control, #6f6786);
    min-height: 36px;
    cursor: pointer;
}

.path-video-planner .fc-center {
    color: #3e2155;
    font-size: 14px;
    font-weight: bold;
}

.path-video-planner .fc-view>table .fc-head tr th {height: 36px;font-size: 16px;font-weight: 700;color: var(--title);background: var(--primary-light);border-bottom: 0;vertical-align: middle;}

.path-video-planner .fc-view>table .fc-body tr td {color: var(--paragraph, #6b6880);font-size: 18px;font-weight: 500;}

.path-video-planner .fc-view>table .fc-body tr td a {color: var(--paragraph, #6b6880);padding: 10px;}

.path-video-planner .fc-list-heading-main,
.path-video-planner .fc-list-heading-alt {color: var(--title);}

.path-video-planner .bottom-buttons.fc-button-group {
    margin-top: 20px;
    text-align: center;
}

.path-video-planner .fullcalendar-bottom-btn.add-event-btn a {
    position: relative;
    padding: 10px 18px;
    overflow: hidden;
    box-shadow: none !important;
    display: inline-block;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--bs-white);
    background-color: var(
    --primary-color);
    border: 0;
    transition: all 500ms ease;
}

.path-video-planner .bottom-buttons.fc-button-group .fullcalendar-bottom-btn.add-event-btn {
    text-align: center; width: 100%;}

.path-video-planner .fc-unthemed td.fc-today { background: var(--primary-color); border-color: #eae2f4;}
.path-video-planner .fc-unthemed td.fc-today .fc-day-number { color: #fff !important;}

.fc-unthemed .fc-content, .fc-unthemed .fc-divider, .fc-unthemed .fc-list-heading td, .fc-unthemed .fc-list-view, .fc-unthemed .fc-popover, .fc-unthemed .fc-row, .fc-unthemed tbody, .fc-unthemed td, .fc-unthemed th, .fc-unthemed thead {
    border-color: #eae2f4;
}
.path-video-planner .fc-view>table .fc-body tr td.fc-event-container a {
    color: #fff !important;
}


.path-video-planner .views-exposed-form.bef-exposed-form .form--inline .form-item {position: relative;cursor: pointer;}
.path-video-planner .views-exposed-form.bef-exposed-form .form--inline .form-item input {
    opacity: 0;
}
.path-video-planner .views-exposed-form.bef-exposed-form .form--inline .form-item:not(:last-child) {margin-right: 12px;}
.path-video-planner .views-exposed-form.bef-exposed-form .form--inline {margin-bottom: 10px;display: inline-block;}


.path-video-planner .views-exposed-form.bef-exposed-form .form--inline {
    margin-bottom: 10px;
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    padding-right: 330px;
}

.path-video-planner .views-exposed-form.bef-exposed-form .form--inline .form-item .form-label {
    border-radius: 4px;
    background: #feefe8;
    border: 1px solid #f26419;
    color: #f26419;
    font-weight: 500;
    text-transform: capitalize;
    padding: 9px;
    display: inline-block;
    margin-bottom: 0;
    cursor: pointer;
}
.path-video-planner .views-exposed-form.bef-exposed-form .form--inline .form-item .form-label::before{border: 3px solid transparent;}

.path-video-planner .views-exposed-form.bef-exposed-form .form--inline .form-item input:checked ~ .form-label {
    background: var(--secondary-color);
    color: var(--bs-white);
}

.path-video-planner .view-calendar-test {
    position: relative;
}



/* video-planner page css end */

.path-notes .card.card-social-bio {padding: 0px;background-color: transparent;}
.path-notes .column-col-3 .js-form-item.form-item {margin-bottom: 15px;}
.card-notes-chapters .card-footer {padding: 0px;}
.card-notes-chapters .card-footer li {margin-top: 15px;}
.card-shuffle-results .card-title {margin-bottom: 10px;padding-right: 10px;}
.card-shuffle-results .js-form-type-select {display: none;}
/* The row's select checkbox, and only the checkbox.
 *
 * This used to read `.view-row-wrapper .views-field`, which absolutely
 * positions EVERY field in the row to the same 12px/16px coordinate. The notes
 * rows carry a bulk-form checkbox and a title, so both were drawn on top of
 * each other: the checkbox square sat over the first two characters of the note
 * title, with the rest of the title emerging from its right edge. Found on
 * /notes from a live recording, not from a report.
 *
 * The intent was always to lift the one checkbox into the row's corner. Naming
 * the field says so, and it cannot catch a second field the next time somebody
 * adds one.
 *
 * Safe to narrow: the compound selector only ever matched here.
 * `row_class: view-row-wrapper` is set by views.view.notes and by nothing else,
 * and the other two templates using .card-shuffle-results wrap a header or use
 * their own grid row classes.
 *
 * The gutter is the other half of the fix. An absolutely positioned control is
 * out of flow, so the row has to reserve the space itself or the collision
 * comes back the moment the content is wide enough to reach it. */
.card-shuffle-results .view-row-wrapper {
  position: relative;
  padding-left: 44px;
}
.card-shuffle-results .view-row-wrapper .views-field-node-bulk-form {
  position: absolute;
  top: 12px;
  left: 16px;
  height: auto;
}
.card-shuffle-results .form-actions.js-form-wrapper.form-wrapper {
    text-align: right;
    margin-top: -40px !important;
    position: relative;
}
.view-row-wrapper ~ .form-actions.js-form-wrapper.form-wrapper { display: none;}

#add-event .fieldset-legend { font-size: 14px;font-weight: 700;color: var(--title);margin-bottom: 4px;}

#add-event .fieldset-wrapper a { color: var(--secondary-color);}
#add-event .js-filter-wrapper.js-form-wrapper.form-wrapper .js-form-wrapper a {color: var(--primary-color); font-weight: 500;}
#add-event .card.card-social-bio .form-actions.js-form-wrapper.form-wrapper {justify-content: space-between;display: flex; margin-top: 10px !important;}
#add-event .js-form-item.js-form-type-select{ display:none;}

/* :not(.description) or this drags the field's help text 10px left of the
   inputs. The description is a sibling div in the same fieldset-wrapper, and
   this ID selector outranks any class-scoped rule trying to put it back. */
#add-event .field--type-datetime fieldset .fieldset-wrapper>div:not(.description) {display: flex;margin: 0px -10px;}
#add-event .field--type-datetime fieldset .fieldset-wrapper>div:not(.description) .js-form-item {flex: 1;padding: 0px 10px;}

/* flex-wrap so the field description, a child of this wrapper, drops to its own
   line instead of being squeezed in beside URL and Link text. */
#add-event .field--type-link .fieldset-wrapper {display: flex;flex-wrap: wrap;margin: 0px -10px;}
#add-event .field--type-link .fieldset-wrapper .js-form-item { flex: 1;padding: 0px 10px;}


.notes-table .table.custom-table { margin: 0px;}
.notes-table .table.custom-table tr td div { padding: 3px 0; font-size: 16px;}
.notes-table .custom-table td:not(:last-child) {border-right: 1px solid #eae2f4; width: 150px;}
.notes-table .table td { padding: 10px 20px;}

#canvas-modal .selectbxAchivement {bottom: 0;margin-top: 0px;margin-bottom: 0; margin-right: 12px;}
#canvas-modal .selectbxAchivement select {-webkit-appearance: none;-moz-appearance: none;appearance: none; padding-right: 40px;}
#canvas-modal .selectbxAchivement select:hover {background-color: var(--primary-color);}


.form-create-audience-avatar .field--name-field-avatar-goals-and-values .clearfix button,
.form-create-audience-avatar .field--name-field-avatar-interests .clearfix button {position: static;}
.form-create-audience-avatar .table-tube {border: 0;}
.form-create-audience-avatar .table-tube .label { padding-left: 0px; padding-right: 0px; font-size: 14px;}
.form-create-audience-avatar table tr td .btn.btn-primary {margin-left: 10px;}
.form-create-audience-avatar [class*='col-'] {width: 100%;}
.form-create-audience-avatar .add-item:hover { color: var(--bs-white);}
.form-create-audience-avatar table tr:not(:first-child) td {padding-top: 10px;}


.no-achievement, .one-remaining-item, .two-remaining-item, .three-remaining-item { height: 350px;}
.no-achievement .no-achievement-img {max-height: initial; object-fit: cover;}

body.subscription-plans .banner {padding-top: 0;padding-bottom: 0;}


/* The form itself. Was scoped as "<body class> .node-social-post-form"; the
   scope is now the form, so there is no descendant left to name. */
.node-social-post-form,
.node-social-post-edit-form { border: 0;margin: 0 !important;}

form.node-social-post-form,
form.node-social-post-edit-form { margin: 0px !important;}

.social-post-form {margin: 0px !important;}

.social-post-form #field-preview-text-wrapper label {font-size: 14px;font-weight: bold;color: var(--title);    margin-bottom: 4px;}

.social-post-form #field-preview-text-wrapper .social-tab {border-radius: 8px;
background-color: var(--primary-light);border-color: var(--primary-light);box-shadow: none;}

.node-social-post-form .card.card-social-bio,
.node-social-post-edit-form .card.card-social-bio{padding: 16px;}

.node-social-post-form .fieldset-legend,
.node-social-post-edit-form .fieldset-legend {font-size: 14px;font-weight: 700;color: var(--title);    margin-bottom: 4px;}

.node-social-post-form .field--type-datetime fieldset .fieldset-wrapper>div,
.node-social-post-edit-form .field--type-datetime fieldset .fieldset-wrapper>div {display: flex;margin: 0px -10px;}

.node-social-post-form .field--type-datetime fieldset .fieldset-wrapper>div .js-form-item,
.node-social-post-edit-form .field--type-datetime fieldset .fieldset-wrapper>div .js-form-item {flex: 1;padding: 0px 10px;}

.node-social-post-form .field--type-datetime fieldset .fieldset-wrapper>div.description,
.node-social-post-edit-form .field--type-datetime fieldset .fieldset-wrapper>div.description { margin-left: 2px;}

.node-social-post-form .js-form-item.form-item.js-form-type-checkbox,
.node-social-post-edit-form .js-form-item.form-item.js-form-type-checkbox {margin-right: 25px;margin-bottom: 10px;}

.node-social-post-form .image-widget.js-form-managed-file.form-managed-file.clearfix .form-control,
.node-social-post-edit-form .image-widget.js-form-managed-file.form-managed-file.clearfix .form-control {padding: 6px 11px !important;}

.node-social-post-form .card.card-social-bio .form-actions.js-form-wrapper.form-wrapper,
.node-social-post-edit-form .card.card-social-bio .form-actions.js-form-wrapper.form-wrapper
{ align-items: center;}

.social-post-form #tsSocialPreviewTab li a {
    font-size: 12px;
    font-weight: 500;
    color: var(--title);
    display: block;
    position: relative;
    padding: 5px 10px;
    border-radius: 6px;
    cursor: pointer;
    border: 0 !important;
}

.social-post-form #tsSocialPreviewTab {padding: 10px;}
.social-post-form #tsSocialPreviewTab li.active a {font-weight: 700;color: var(--bs-white);background-color: var(--primary-color);border: 0;}
.social-post-form #tsSocialPreviewTab li a:hover {color: var(--title);}
.social-post-form #tsSocialPreviewTab li.active a:hover {color: var(--bs-white);}

.social-post-form .user-info-row {align-items: center;}
.social-post-form .user-info-row .panel-title {
    margin: 10px 0 0 5px;
    font-size: 18px;
    color: var(--title);
    font-weight: 500;
}

.node-social-post-form .card.card-social-bio .form-actions.js-form-wrapper.form-wrapper .use-ajax.button, .node-social-post-edit-form .card.card-social-bio .form-actions.js-form-wrapper.form-wrapper .use-ajax.button {
    padding: 10px 18px;
    overflow: hidden;
    box-shadow: none !important;
    display: inline-block;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    background-color: var(--primary-color);
    border: 0;
    transition: all 500ms ease;
}

.ui-dialog .ui-dialog-content .js-form-item.form-item {
    margin-bottom: 15px;
}


.node-social-post-form .use-ajax.button,
.node-social-post-edit-form .use-ajax.button {
    color: #fff;
    background-color: var(--primary-color);
    font-weight: 500;
    padding: 3px 5px;
    border-radius: 4px;
    font-size: 12px;
}

.card-thumbnails .fav-video-icon, .card-thumbnails .unfav-video-icon {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 1;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ea2e2e;
}


.thumbnails-btn-group {text-align: right;}
.thumbnails-btn-group .btn {display: inline-flex;margin-left: 5px; align-items: center;}
.thumbnails-btn-group .btn img {margin-right: 5px;}
.card-thumbnails {overflow: hidden;}

/* Follow the saved preview's aspect ratio: thumbnails can be portrait,
 * square or landscape. Keep author/profile cards on their existing layout. */
.author-box.card-thumbnails .img-box {
  padding-top: 0;
  min-height: 0;
}

.author-box.card-thumbnails .img-box .author-bg img {
  position: static;
  display: block;
  width: 100%;
  height: auto;
}

.ribbon.ribbon-top-left span{
    position: absolute;
    display: block;
    width: 214px;
    padding: 10px 0;
    background-color: var(--primary-color);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .2);
    text-transform: uppercase;
    text-align: center;
    left: -60px;
    top: 28px;
    transform: rotate(-45deg);
    z-index: 1;
    font-weight: bold;
}

.node-social-post-form .table-tube,
.node-social-post-edit-form .table-tube {padding: 10px;}

.views-infinite-scroll-content-wrapper {display: flex;flex-wrap: wrap; width: 100%; margin: 0px -7px;}
.views-infinite-scroll-content-wrapper [class*=col-] { padding: 0px 7px;}


.creator-wrapper {display: flex; margin-bottom: 30px;}
.creator-wrapper .creator-img {flex: 0 0 230px;max-width: 230px;}
.creator-wrapper .creator-img img { width: 100%; display: block; border-radius: 10px;
background: #ddd; height: auto;}
.creator-wrapper .creator-blog-content {padding-left: 30px;}
.creator-wrapper .creator-blog-content h2 {font-size: 25px;color: var(--title);font-weight: bold;margin-bottom: 12px;}
.creator-quote-section.card {margin-bottom: 20px;}
.creator-quote-section {margin-bottom: 20px;}

.view-creator-quotes .custom-table td img {border-radius: 10px; margin-right: 10px;}
.view-creator-quotes .custom-table th{ display: none;}
.view-creator-quotes .custom-table td:first-child {width: 350px;max-width: 350px;min-width: 350px;}
.view-creator-quotes .table-hover>tbody>tr:hover td a { color: var(--primary-color);}
.view-creator-quotes .table-hover>tbody>tr:hover { --bs-table-accent-bg: transparent;}
.view-creator-quotes .table-custom-main {border: 0;}
.view-creator-quotes .custom-table td {padding: 15px 0px;}


.path-scheduled-posts .social-post-form .js-form-item.form-item.js-form-type-select{display: none;}

[class*='path-scheduled-posts-'] .social-post-form .js-form-wrapper.form-wrapper{display: none;}
[class*='path-scheduled-posts-'] .social-post-form .table-custom-main ~ .js-form-wrapper.form-wrapper {display: block;}

.path-scheduled-posts .social-post-form .form-actions.js-form-wrapper.form-wrapper {
    text-align: right;
    position: relative;
    top: -44px;
    right: 180px;
}
.path-scheduled-posts .social-post-form .form-actions.js-form-wrapper.form-wrapper .btn.btn-primary {
min-height: 42px;
position: relative;
padding-left: 40px;
}

.path-scheduled-posts
    .social-post-form
    .form-actions.js-form-wrapper.form-wrapper
    .btn.btn-primary::after {
position: absolute;
  top: 10px;
  left: 15px;
  width: 20px;
  height: 20px;
  content: "";
  background: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6zm2 3h14v12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V9zm5 3v6h2v-6H10zm4 0v6h2v-6h-2zM9 4V2h6v2h5v2H4V4h5z"/></svg>') no-repeat center;
    background-size: auto;
  background-size: 20px 20px;
}


.card.h-100.card-schedule-post .button-group-event {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
    gap: 16px;
    flex-wrap: wrap;
  justify-content: flex-end;
}
.card.h-100.card-schedule-post  .button-group-event .btn {
    margin: 0px;
}
/* Removed: this pinned the scheduled-posts panel to 24px while every other
   panel used 12px, 16px or 20px, and it did it from an ID selector, so no
   class-based house rule could ever correct it. The uniform 16px panel inset
   in glass.css now applies here like everywhere else. This was the only
   ID-specificity panel padding override in the theme. */

.card.h-100.card-schedule-post .button-group-event .btn.btn-secondary {
    margin-left: auto;
}
.social-post-form .table-custom-main {margin-bottom: 15px;}
.path-scheduled-posts .js-form-wrapper.form-wrapper { height: auto;}
.path-scheduled-posts .block-header {margin-bottom: 2px;padding-right: 0px;}
.path-scheduled-posts .table-custom-main ~ .delete-selected-btn-custom { display: none;}
.path-scheduled-posts .custom-table td a img { margin: 0; }

.open-menu .btn-toggle-nav { display: none;}

.achived-achievements-wrapper.card .rounded_border{ cursor: pointer;}
.achived-achievements-wrapper.card .rounded_border:not(:first-child) {
    margin-top: 15px;
}

/* Social bio page css start*/
body.page-node-type-link-hub .node__main-content .contact-header {
        text-align: center;
        margin: 0 0 15px;
}


    body.page-node-type-link-hub .node__main-content .contact-header span.contact-img img {
        width: 130px;
        height: 130px;
        margin: 0 auto 15px;
        display: block;
        position: relative;
        border-radius: 50%;
    }

    body.page-node-type-link-hub .node__main-content .contact-header span.contact-img--initial {
        width: 130px;
        height: 130px;
        margin: 0 auto 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        background-color: var(--primary-color);
        color: #fff;
        font-size: 52px;
        font-weight: 700;
    }

    body.page-node-type-link-hub span.contact-title {
        display: block;
        font-size: 22px;
        margin-bottom: 10px;
        font-weight: 700;
    }

    body.page-node-type-link-hub .clearfix.main-content__section {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    body.page-node-type-link-hub .social-media-button.icon-left {
        border-radius: var(--btn-radius, 24px);
        font-size: 13px;
        line-height: 1.3;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        height: 44px;
        max-width: 600px;
        margin: 0 auto 20px auto;
        background: #fff;
        box-shadow: 3px 4px 14px rgba(0,0,0,0.18); /* default: soft */
    }

    /* Named shadow classes set by paragraph--contact-social-links.html.twig */
    body.page-node-type-link-hub .social-media-button.icon-left.shadow-soft {
        box-shadow: 3px 4px 14px rgba(0,0,0,0.18);
    }

    body.page-node-type-link-hub .social-media-button.icon-left.shadow-strong {
        box-shadow: 3px 6px 20px rgba(0,0,0,0.35);
    }

    body.page-node-type-link-hub .social-media-button.icon-left.shadow-none {
        box-shadow: none;
    }

    /* Legacy classes — kept for paragraphs not yet migrated (drush updb pending).
       hide-shadow: correct spelling output by current Twig fallback.
       hide-shodow: original typo, matched against any pre-migration HTML still in cache. */
    body.page-node-type-link-hub .social-media-button.icon-left.hide-shadow,
    body.page-node-type-link-hub .social-media-button.icon-left.hide-shodow {
        box-shadow: none;
    }

    body.page-node-type-link-hub .social-media-button.icon-left a {
        width: 100%;
        height: 100%;
        font-weight: 600;
        color: inherit;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding-left: 20px;
    }

    body.page-node-type-link-hub article.contact-detail-block.node--type-link-hub.node--view-mode-full.clearfix {
        max-width: 420px;
        margin: 0 auto;
    }

    body.page-node-type-link-hub .cont-detail-bg.site-content.main-content.region--dark-typography.region--white-background {
        min-height: calc(100vh - 1px);
        position: relative;
        background-size: cover;
    }

    body.page-node-type-link-hub .poweredby-contact-page {
        position: absolute;
        bottom: 7px;
        left: 50%;
        transform: translateX(-50%);
    }

    body.page-node-type-link-hub .poweredby-contact-page span.field-content {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
    }

    body.page-node-type-link-hub .poweredby-contact-page span.field-content a {
        margin-left: 7px;
        margin-bottom: 2px;
    }

    body.page-node-type-link-hub .bio-qr-section {
        text-align: center;
        margin: 24px 0 8px;
    }

    body.page-node-type-link-hub .bio-qr-code {
        display: inline-block;
        border-radius: 10px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.15);
    }

    body.page-node-type-link-hub .bio-qr-caption {
        margin: 8px 0 0;
        font-size: 12px;
        opacity: 0.6;
        color: inherit;
    }

    /* QR left / right of avatar layout */
    body.page-node-type-link-hub .bio-qr-with-header {
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        margin-bottom: 15px;
    }

    body.page-node-type-link-hub .bio-qr-with-header--left {
        flex-direction: row;
    }

    body.page-node-type-link-hub .bio-qr-with-header--right {
        flex-direction: row-reverse;
    }

    body.page-node-type-link-hub .bio-qr-block {
        flex-shrink: 0;
    }

    body.page-node-type-link-hub .contact-header--beside-qr {
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    /* Stack QR above avatar on narrow screens regardless of position setting */
    @media (max-width: 400px) {
        body.page-node-type-link-hub .bio-qr-with-header {
            flex-direction: column !important;
            justify-content: flex-start;
            gap: 12px;
        }
    }

    /* Bio page mobile adjustments */
    @media (max-width: 600px) {
        body.page-node-type-link-hub .social-media-button.icon-left {
            max-width: 100%;
            height: 40px;
            font-size: 12px;
            margin-bottom: 12px;
        }
        body.page-node-type-link-hub .social-media-button.icon-left a {
            padding-left: 16px;
        }
        body.page-node-type-link-hub article.contact-detail-block {
            max-width: 100%;
            padding: 0 16px;
        }
        body.page-node-type-link-hub .bio-qr-code {
            width: 100px;
            height: 100px;
        }
    }

    .image_16by9_inner {
        position: relative;
        overflow: hidden;
        border-radius: 5px;
        text-align: center;
        padding-top: 56.2%;
    }

    body.page-node-type-link-hub .yt_thumbnail {
        margin-bottom: 20px;
        width: 100%;
        border: none;
        box-shadow: 0 5px 5px #464545;
    }

    body.page-node-type-link-hub .yt_thumbnail.latest-img {
        padding-top: 53.3%;
    }

    .image_16by9_inner img, .image_16by9_inner iframe, .image_16by9_inner video {
        border-radius: 5px;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    body.page-node-type-link-hub .yt_thumbnail img {
        display: inline-block;
    }

    body.page-node-type-link-hub .social-media-button.icon-left a i,
    body.page-node-type-link-hub .social-media-button.icon-left a img {
        margin: 0 10px 0 0;
        font-size: 22px;
    }

    .enhanced-wrapper {
        background-color: #fff;
        padding: 12px;
        border-radius: 8px;
        margin-bottom: 30px;
        display: flex;
    }

    .enhanced-wrapper .left_wrapper {
        display: inline-block;
        flex: 0 0 105px;
        max-width: 105px;
    }
    .enhanced-wrapper .enhanced_img {
        border-radius: 5px;
    }

    .enhanced-wrapper .right_wrapper {
        padding-left: 20px;
        flex: 1;
    }
    .enhanced-wrapper .enhanced_link {
        color: #ee7c38;
    }

    .banner-wrapper {
        background-color: #fff;
        padding-top: 25px;
        border-radius: 15px;
        margin-bottom: 30px;
        padding-bottom: 25px;
    }

    .banner-wrapper>.banner_title {
        text-align: left;
        padding: 30px 12px 0;
        margin: 0;
        color: var(--title);
        font-weight: bold;
        font-size: 20px;
    }

    .banner-wrapper>.banner_desc {
        color: #777;
        text-align: left;
        padding: 5px 12px;
        display: block;
        margin: 0;
    }

    .banner-wrapper .link_wrapper>.banner_link {
        color: #ee7c38;
        padding: 5px 12px;
    }

    .enhanced-wrapper .right_wrapper .enhanced_title {
        margin-bottom: 8px;
        color: var(--title);
        font-size: 20px;
        font-weight: bold;
    }

    .enhanced-wrapper .right_wrapper p {margin-bottom: 5px;}
    .banner-wrapper p { margin-bottom: 5px;}

form.node-link-hub-edit-form  .ck-editor__editable, .node-link-hub-form .ck-editor__editable {
  font-weight: 500;
  font-size: 14px;
  color: #313234;
}

/* Social bio page css end*/

.commerce-checkout-flow .form-actions.js-form-wrapper.form-wrapper .btn.btn-primary {font-size: 14px;}
.custom-checkout-page .audience-col-3 .creator-section.d-flex {padding-top: 8px;}


/* promo page css start */

.dashaboard-inner.promo-page {
    padding: 16px 0px;
}

.promo-page .block-system-main-block {
    background: #fff;
    padding: 16px;
    border-radius: 12px;
}

.custom-cnt-layout-3 .group-left.newlayout-group-left p, .custom-cnt-layout-4 .group-left p, .custom-cnt-layout-5 .group-left p {
    font-size: 16px;
}

.promo-page-user-logo {
    border-color: var(--primary-color);
}

fieldset.promo-page-user-name-title-logo-wrapper .promo-page-user-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background-color: #fff;
}

.promo-page-header-bannerbottom .promo-page-user-name, .promo-page-header-bannerbottom .promo-page-social-media-follow-title {
    color: var(--primary-color);
    margin-bottom: 5px;
}

.field.field--name-node-title.field--type-ds.field--label-hidden.field--item h2 {
    color: #000;
    font-size: 20px;
}
.custom-cnt-layout .user-contact-form-wrapper {padding: 16px;border-radius: 12px;border: 1px solid #ddd;}

.custom-cnt-layout .user-contact-form-wrapper .js-form-item label {color: var(--primary-color) !important;font-weight: bold;padding: 0;}
.node--type-bio.custom-cnt-layout .user-contact-form-wrapper .js-form-item label {position: relative;font-size: 13px;}
.node--type-bio.custom-cnt-layout .user-contact-form-wrapper .form-text, .node--type-bio.custom-cnt-layout .user-contact-form-wrapper .form-tel, .node--type-bio.custom-cnt-layout .user-contact-form-wrapper .form-email {
    height: 36px !important;
    padding: 6px 12px;
    font-size: 14px;
    border-radius: 4px !important;
}
.node--type-bio.custom-cnt-layout .user-contact-form-wrapper textarea{ padding: 6px 12px;}
.custom-cnt-layout .user-contact-form-wrapper .js-form-item {padding: 0;}
.custom-cnt-layout .user-contact-form-wrapper .js-form-item label {top: -1px !important;}
.custom-cnt-layout .user-contact-form-wrapper .js-form-item {margin-bottom: 15px;}
.custom-cnt-layout{ padding-top: 0px;}
.custom-cnt-layout .newlayout-group-right p{ font-size: 16px;}

.custom-cnt-layout-6 .group-header .promo-page-user-name,
.custom-cnt-layout-6 .group-header .promo-page-social-media-follow-title{ color: var(--primary-color);}

body .custom-cnt-layout-6 .group-right.newlayout-group-right{ padding-top: 0px;}

.subscribe-perk-list-content .row.park-row {align-items: center;}
.subscribe-price .sbm-cB_C-access-btn.morningfame-invite-link {
    position: relative;
    padding: 10px 18px;
    color: #fff;
    box-shadow: none !important;
    display: inline-block;
    text-align: center;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    background-color: var(--primary-color);
    border: 0;
    transition: all 500ms ease;
}

.subscribe-price .sbm-cB_C-access-btn.morningfame-invite-link::before{ border: 3px solid transparent;}

.custom-cnt-layout-3 .group-header .field--name-field-banner-image::after {
    background: var(--primary-color);
    background: -moz-linear-gradient(0deg, rgba(103, 44, 114, 0.8) 0%, rgba(0,0,0,0.8) 100%);
    background: -webkit-linear-gradient(0deg, rgba(103, 44, 114, 0.8) 0%, rgba(0,0,0,0.8) 100%);
    background: linear-gradient(0deg, rgba(103, 44, 114, 0.8) 0%, rgba(0,0,0,0.8) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#672c72",endColorstr="#000000",GradientType=1);
}


.custom-cnt-layout-3.custom-cnt-layout .user-contact-form-wrapper .js-form-item {
    padding:0px;
    width: 100%;
    margin: 0;
}

.custom-cnt-layout-3.custom-cnt-layout .newlayout-group-right.group-right .user-contact-form-wrapper {
    border: 0;
}

.custom-cnt-layout-3.custom-cnt-layout .user-contact-form-wrapper .js-form-item.js-form-type-textarea {
    width: 100%;
}
.custom-cnt-layout-3.custom-cnt-layout .user-contact-form-wrapper .js-form-item {
    margin-bottom: 15px;
}
.custom-cnt-layout-3.custom-cnt-layout .newlayout-group-right.group-right {
    padding: 16px;
    border-radius: 12px;
    border-color: #ddd;
}

.custom-cnt-layout-3.custom-cnt-layout .newlayout-group-left.group-left {
    padding: 16px;
    border-radius: 12px;
    border-color: #ddd;
}

.custom-cnt-layout-3 fieldset.promo-page-user-name-title-logo-wrapper .promo-page-title-wrapper h2{ font-size: 20px;}

.promo-page-social-link-wrapper .social-media-button a {
    color: var(--primary-color);
    width: 30px;
    height: 30px;
    border: 1px solid;
    display: flex;
    border-radius: 50%;
    border: 1px solid #fff;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.promo-page-user-name-title-social-wrapper .promo-page-user-name-title-logo-wrapper .promo-page-user-name{ margin-bottom: 10px;}
.promo-page-social-media-follow-title {
    font-weight: 500;
}
.promo-page-user-name, .promo-page-social-media-follow-title{ color: var(--primary-color);}
.promo-page-title-wrapper h2{ font-size: 20px;}
.custom-cnt-layout .title-logo-wrapper {
    box-shadow: none;
    border: 1px solid #ddd;
    padding: 24px;
}
.newlayout-group-left.simple-layout2-group-left p{ font-size: 16px;}
.node--view-mode-promo-page-layout-simple-2 .promo-page-header-wrapper {
    max-width: 100%;
    width: 100%;
}
.promo-page-user-logo{ display: flex; align-items: center; justify-content: center;}
.promo-page-user-logo img {
    object-fit: cover;
}

.promo-page-header-wrapper .promo-page-title-wrapper h2{ margin-bottom: 10px;}

.custom-cnt-layout .field__item a svg {color: var(--primary-color) !important;}

.webform-button--submit.btn.btn-primary.button.button--primary{ background: var(--primary-color);}

/* promo page css end */



.batch .progress .progress__track {
    background: #f2eef8;
    height: 12px;
    border-radius: 30px;
    border-color: #f2eef8;
    margin: 0;
    overflow: hidden;
    width: 100%;
    border: 0;
    margin-bottom: 15px;
}

.batch .progress {height: auto;border-radius: 12px;padding: 16px;}
.batch .progress .progress {padding: 0px;flex-wrap: wrap;width: 100%;flex-direction: column;padding-right: 40px;}
.batch .progress .progress__label {display: block;width: 100%;margin-bottom: 10px;font-size: 16px;font-weight: 700;color: var(--title);}
.batch .progress .progress__track .progress__bar {height: 100%;background-color: var(--primary-color);}
.batch .progress .progress__percentage {display: inline-block;vertical-align: middle;color: var(--paragraph);font-weight: 500;font-size: 12px;position: absolute;right: 0;top: 30px;}
.batch .progress .progress__description {color: var(--paragraph);font-weight: 500;font-size: 12px;margin-top: -8px;}


/* breakoutalertform page css */
.card.view.view-breakout-alerts .custom-table th a {color: var(--paragraph); display: flex; align-items: center;}

.breakoutalertform.card {margin-bottom: 16px;}
.breakoutalertform.card .js-form-item.form-item.js-form-type-checkbox {padding-top: 34px;}


div#add-descriptions .project-custom-tag.containerOuter.xyz .select-box,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens .project-custom-tag.containerOuter.xyz .select-box {
    flex: 0 0 20%;
    padding: 0px 7px;
    margin: 5px 0px;
    width: 20%;
}

div#add-descriptions .project-custom-tag.containerOuter.xyz,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens .project-custom-tag.containerOuter.xyz {margin: 0px -7px;flex-wrap: wrap; display: flex;}

div#add-descriptions .js-form-item.form-item.js-form-type-textarea .form-textarea {margin-bottom: 16px;}

div#add-descriptions .js-filter-wrapper.js-form-wrapper,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens .js-filter-wrapper.js-form-wrapper {display: none;}

div#add-descriptions div#edit-body-0--description,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens div#edit-body-0--description {display: none;}

div#add-descriptions #edit-field-description-seo-0--description,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens #edit-field-description-seo-0--description{ display:none;}

div#add-descriptions .show-more-field-wrapper { line-height: 1.1;}

div#add-descriptions .fieldset-legend,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens .fieldset-legend{font-size: 14px;font-weight: 700; color: var(--title);}

div#add-descriptions legend,
.node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens legend{margin-bottom: 10px;line-height: 1.1;}





.image-widget.js-form-managed-file.form-managed-file {display: flex; align-items: center;flex-wrap: wrap; gap: 10px;}
.image-widget.js-form-managed-file.form-managed-file .btn {margin-left: auto;}
.image-widget.js-form-managed-file.form-managed-file img {margin-right: 15px;}
.image-widget.js-form-managed-file.form-managed-file .file a {color: var(--primary-color);}
.social-iconbox img {width: 48px;height: 48px; border-radius: 5px;}
.image-widget.js-form-managed-file.form-managed-file span { margin-top: 20px;}
.node-descriptions-edit-form .field--name-field-description-tags .table-tube, .node-descriptions-form .field--name-field-description-tags .table-tube {
    padding-bottom: 20px;
}
ul.notes-list .text-center {text-align: left !important;}
.sec-group .block-header {min-height: 23px;}

.text-box{ padding-bottom: 15px;}
.card-thumbnails .text-box {padding-bottom: 0px;}

.my-promo-page-btn {margin-top: auto !important;}
.dropdown-menu.dropdown-menu-end.dropdown-connect-channel li img {width: 25px;}

.emoji-btn-popup { margin-bottom: 15px;}
.path-user-reply-library  .emoji-btn-popup .emoji-btn {margin-top: 0px !important;}

form.node-bio-form .field--name-field-file-attachment .form-managed-file {
    display: flex;
    flex-wrap: wrap;
}
form.node-bio-form .field--name-field-file-attachment .form-managed-file .btn.btn-primary {
    margin-left: auto;
}



.clock-icons.global-ai-btn-box.ai-speech-btn-box.show-speech-btn-box {padding: 0;}
.clock-icons.global-ai-btn-box.ai-speech-btn-box.show-speech-btn-box .brain-btn-icon {
    color: var(--primary-light);
    font-size: 12px;
    font-weight: 700;
    width: 100%;
    justify-content: start;
    padding: 6px;
    border-radius: 8px;
    position: relative;
    padding-left: 36px;
    background-color: var(--primary-color);
}

.clock-icons.global-ai-btn-box.ai-speech-btn-box.show-speech-btn-box .brain-btn-icon i {margin-right: 8px;}
.clock-icons.global-ai-btn-box.ai-speech-btn-box.show-speech-btn-box .brain-btn-icon img {
    margin-right: 6px;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}


/* ai-speech-modal-image form css start */
.page-node-type-video-script-template .ai-speech-modal-image {
    width: 1100px !important;
    max-width: 100%;
}

form.text-to-speech-form .ts-middle-section,
form.text-to-speech-form .ts-top-section {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
}

form.text-to-speech-form .ts-middle-section .form-item,
form.text-to-speech-form .ts-top-section .form-item {
    width: calc(33% - 5px);
}

.text-to-speech-form .btn_red {
    padding: 10px 18px !important;
    font-family: satoshi !important;
    line-height: 1.5 !important;
    border-radius: 4px !important;
    background: var(--primary-color) !important;
    color: var(--bs-white);
    text-transform: capitalize;
    font-weight: 500;
    font-size: 14px;
}

.text-to-speech-form .ts-bottom-section {justify-content: center;gap: 10px;}
.text-to-speech-form .ts-bottom-section .dropdown .dropdown-content>span {color: var(--paragraph);cursor: pointer;}
.text-to-speech-form .ts-bottom-section .dropdown .dropdown-content>span:not(.disable-link):hover {
    background: var(--primary-color) !important;
    color: #fff !important;
}


.ai-speech-modal-image .manage-profile-sec {display: flex;margin: 0px -7px; padding-top: 20px;}
.ai-speech-modal-image .manage-profile-sec ul li {margin-bottom: 10px;}
.ai-speech-modal-image .manage-profile-sec .para-list-nodes .view-ai-speech-node {
    font-size: 14px;
    font-weight: 600;
    color: var(--title);
}
.ai-speech-modal-image .manage-profile-sec .para-list-nodes .view-ai-speech-node:hover{ color: var(--secondary-color);}
.text-to-speech-form .audio-sec {margin-left: 0;margin-top: 10px;}

.ai-speech-modal-image .manage-profile-sec label {font-size: 14px;color: var(--title);font-weight: 600;}
.ai-speech-modal-image .para-list-preview .make-default-para {margin: 0;}
.ai-speech-modal-image .para-list-preview .ts-middle-section.save-form {flex-direction: column;}

.ui-dialog.ai-speech-modal-image .text-to-speech-form .form-item label {
    color: var(--title);
    font-size: 14px;
    font-weight: 700;
}

.ai-speech-modal-image .right-links {
    gap: 5px;
    display: flex;
}

.ai-speech-modal-image .right-links .edit-ai-speech-node,
.ai-speech-modal-image .right-links .delete-ai-speech-node,
.ai-speech-modal-image .right-links .apply-ai-speech-node {
    padding: 0 !important;
    width: 24px;
    height: 24px;
    display: inline-flex;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px !important;
    align-items: center;
    justify-content: center;
    color: var(--title);
}



.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
    font-size: 18px;
    color: var(--title);
    font-weight: 600;
}

.text-to-speech-form .ts-bottom-section{ margin-top: 15px;}

.ai-speech-modal-image input[type="range"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    cursor: pointer !important;
    outline: none !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    padding: 0px !important;
    height: 14px !important;
    margin-top: 10px;
  }

  .ai-speech-modal-image .form-range::-webkit-slider-thumb{ margin-top: 0px !important;}

  .ai-speech-modal-image input[type="range"]::-webkit-slider-runnable-track {
    height: 12px !important;
    background: #F2EEF8 !important;
    border-radius: 16px;
  }

  .ai-speech-modal-image input[type="range"]::-moz-range-track {
    height: 12px !important;
    background: #F2EEF8 !important;
    border-radius: 16px !important;
  }

  .ai-speech-modal-image input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    height: 12px !important;
    width: 12px !important;
    background-color: #fff !important;
    border-radius: 50% !important;
    border: 2px solid var(--primary-color) !important;
    box-shadow: -407px 0 0 400px var(--primary-color) !important;
  }



  .ai-speech-modal-image input[type="range"]::-moz-range-thumb {
    height: 12px;
    width: 12px;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid var(--primary-color);
    box-shadow: -407px 0 0 400px var(--primary-color);
  }

  .jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default, .jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default {
    background-color: var(--primary-color);
    color: var(--bs-white);
    font-weight: 500;
}

.jconfirm.jconfirm-white .jconfirm-box .jconfirm-buttons button.btn-default:hover, .jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default:hover {
    background: #481e4d;
}



/* ai-speech-modal-image form css end */


.ajax-progress-fullscreen {
    background-color: transparent;
    background-image: none;
    width: 56px;
    height: 56px;
    background-size: cover;
    border-radius: 20px;
    border: 11.2px var(--primary-color) double;
    border-left-style: solid;
    border-radius: 50%;
    animation: spinner-aib1d7 0.75s infinite linear;
}


.top-tag-list .tags .control-field .form-label{cursor: pointer;}
.top-tag-list .tags.checkedlabel{ background-color: var(--primary-color);}
.top-tag-list .tags.checkedlabel .form-label{ color: var(--bs-white);}


/* Bio page view fills exactly the viewport and scrolls internally.
   Using height (not min-height) + overflow-y:auto prevents the document
   from growing taller than the viewport, eliminating the ghost scrollbar. */
.bio-page-view{
  height: 100vh;          /* fallback for browsers without dvh */
  height: 100dvh;         /* dynamic viewport height: excludes mobile browser chrome */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* smooth momentum scroll on iOS */
  background-size: cover;
  background-position: center;
}

/* Lock html and body so all scrolling happens inside .bio-page-view.
   Uses :has() for modern browsers; body.path-b covers the rest. */
html:has(body.path-b) {
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
}
body.path-b {
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
}

.bio-page-view .contact-page-view {padding-bottom: 50px;}

.views-field.views-field-nid p:not(:first-child){ margin-top: 10px;}
.views-field.views-field-nid img{ margin-right: 5px;}

body.page-node-type-link-hub .poweredby-contact-page span.field-content{ white-space: nowrap;}
body.page-node-type-link-hub .poweredby-contact-page span.field-content img {
    width: 212px;
    height: auto;
    max-width: 100%;
}

.blocked-list .views-field {
box-shadow: none;
margin: 7px 0;
display: inline-block;
vertical-align: top;
width: 100%;
padding: 3px 10px 3px 20px;
font-size: 17px;
line-height: 1.3;
color: #000;
height: auto;
border-radius: 82px;
background: #f0f0f0;
position: relative;
font-weight: 500;
}

.blocked-list .views-field .field-content {display: flex;align-items: center;}
.blocked-list .views-field .field-content p {margin: 0px;}
.blocked-list li {display: inline-block;}
.blocked-list .views-field a {
    font-size: 21px;
    color: var(--primary-color);
    margin-left: 10px;
}

.blocked-list .views-field .field-content br {
    display: none;
}

/* Blocked Words empty state.
 *
 * The Views empty area used to emit `<div class="item-list blocked-list card">`.
 * On a glass page `.card` is a PANEL, with its own padding, fill and the
 * 14/14/14/3 signature corner, and the block already sits inside a panel. So
 * an empty list rendered a panel inside a panel and read as two stacked
 * buttons rather than as a sentence.
 *
 * The markup no longer claims to be a card or a list item. It is a message,
 * and it now says what to do next rather than dead-ending on a bare "yet",
 * which is the house rule for empty states. The add field is already on the
 * page directly above, so it points there rather than repeating a button. */
.blocked-list-empty {
  margin: 0;
  padding: 4px 0 8px;
  color: var(--paragraph, #6b6880);
  font-size: 15px;
}

.bef-datepicker.form-control {
    background-repeat: no-repeat;
    background-position: center right 15px;
}

.desc-action-button-wrapper {
    position: absolute;
    background: #fff;
    cursor: pointer;
    border: 1px solid #ddd;
    display: inline-block;
    border-radius: 5px;
    padding: 9px 21px;
    margin-bottom: 15px;
    top: 25px;
}

.card.card-social-bio .desc-action-button-wrapper .form-actions.js-form-wrapper.form-wrapper {
    position: absolute;
    flex-direction: column;
    background: #fff;
    padding: 10px;
    min-width: 182px;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
    margin-top: 11px !important;
    z-index: 1;
    gap: 8px;
    left: 0;
    opacity: 0;
    pointer-events: none;
}

.card.card-social-bio .desc-action-button-wrapper:hover .form-actions.js-form-wrapper.form-wrapper { opacity: 1; pointer-events: auto; }


.view-smart-description.view-id-smart_description header {
    padding-left: 100px;
    margin-bottom: 10px;
}

.node-descriptions-edit-form .image-widget.js-form-managed-file.form-managed-file .btn {
    margin: 0;
    margin-top: 5px;
}

.checkout-pane.checkout-pane-payment-information.card fieldset.fieldgroup.form-composite .fieldset-wrapper>div {
    display: flex;
    gap: 10px;
}

.checkout-pane.checkout-pane-payment-information.card fieldset.fieldgroup.form-composite .js-form-item {
    position: relative;
    border-radius: 10px;
    padding: 15px;
    padding-left: 49px;
    background-color: var(--primary-light);
    flex: 1;
    width: 50%;
}


.checkout-pane.checkout-pane-payment-information.card fieldset.fieldgroup.form-composite .js-form-item .form-control.form-radio {
    top: 14px;
    left: 10px;
}

.checkout-pane.checkout-pane-payment-information.card .address {border: 1px solid #ddd;padding: 10px;border-radius: 10px;}


.ui-dialog .ui-dialog-content .form-create-audience-avatar .js-form-item.form-item {
    margin-bottom: 0;
}


.node-descriptions-form .form-checkboxes,
.node-descriptions-edit-form .form-checkboxes {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 20px;
}

.sec-my-recent-project .col-auto.recent-imgbox {
  margin-bottom: 0;
}

.node-descriptions-form .form-checkboxes  .js-form-item img,
.node-descriptions-edit-form .form-checkboxes  .js-form-item img {width: 30px;margin-right: 10px;}

.node-descriptions-form .form-checkboxes .js-form-item,
.node-descriptions-edit-form .form-checkboxes .js-form-item {
    align-items: center;
    border: 1px solid #ddd;
    padding: 5px;
    border-radius: 4px;
}

.node-descriptions-form .form-checkboxes .js-form-item label,
.node-descriptions-edit-form .form-checkboxes .js-form-item label {display: flex;align-items: center;}

.card-title-filters .description {font-style: italic; margin-bottom: 10px;margin-top: 5px;}
.card-title-filters .js-form-item.form-item.js-form-type-checkbox {align-items: center;}
.card-title-filters .js-form-item.form-item.js-form-type-checkbox input {margin-top: 0px;}

.card-title-filters .control-field .form-control, .card-title-filters .control-field .form-select {
    font-size: 12px;
    font-weight: 500;
    color: #313234;
    height: 32px;
    border-radius: 6px;
    box-shadow: none;
    /* Was #F2EEF8, the same value as the fill below it, so this override
       re-created the invisible border that the shared .control-field rule
       had just been fixed for. Same house quiet-control value, 3.04:1. */
    border-color: var(--ts-border-control, #6f6786);
    background-color: #F2EEF8;
}


.card-title-filters .control-field .form-control::placeholder {color:#B1B7C5;opacity: 1;}
.card-title-filters .control-field .form-control::-ms-input-placeholder {color:#B1B7C5;}


.card-title-filters div.data-list-input .form-control,
.card-title-filters div.data-list-input .control-field .form-select {
    margin-top: -4px !important;
}

.path-contact-pages .text-box, .contact-pages-my-contact-pages .text-box{
    padding-bottom: 0;
}



@media screen and (max-width: 1199px) {
div#add-descriptions .project-custom-tag.containerOuter.xyz .select-box, .node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens .project-custom-tag.containerOuter.xyz .select-box {
flex: 1 1 auto;
margin-top: 5px;
width: auto;
}
}


@media screen and (max-width: 991px) {
.view-id-notes.contextual-region.view-notes {display: block !important;}
.path-notes .column-col-3 {margin-bottom: 14px;}
.view-id-notes.view-notes.d-flex { display: block !important;}
.card-shuffle-results .form-actions.js-form-wrapper.form-wrapper {margin-top: 0px !important;}
.subscribe-img {margin-bottom: 10px;}
.checkout-pane.checkout-pane-coupon-redemption .js-form-wrapper .btn.btn-primary{ margin-top: 10px;}

.path-scheduled-posts .social-post-form .form-actions.js-form-wrapper.form-wrapper .btn.btn-primary {
    padding-left: 32px;
    font-size: 0;
}
.path-scheduled-posts .block-header .btn.btn-primary span.ms-2 {
    font-size: 0;
}

.path-scheduled-posts .block-header .btn.btn-primary.toggle-btn {
    font-size: 14px !important;
}
.path-scheduled-posts .block-header .btn.btn-primary .ms-2 {
    margin-left: 0 !important;
}
.path-scheduled-posts .social-post-form .form-actions.js-form-wrapper.form-wrapper {
    top: -43px;
    right: 140px;
}
}

@media screen and (max-width: 767px) {

.path-scheduled-posts .social-post-form .form-actions.js-form-wrapper.form-wrapper {
    top: -51px;
    right: 137px;
}
.block-header .title {
    width: 63%;
}

.path-video-planner .fc-toolbar.fc-header-toolbar { flex-direction: column-reverse; gap: 15px;}
.path-video-planner .whitebox_outerwrapper.card {padding: 12px;}
.path-video-planner .fc-view>table .fc-head tr th{ font-size: 12px;}
.path-video-planner .fc-view>table .fc-body tr td {font-size: 12px;}
.path-video-planner .block-header .flex-grow-1.d-flex.align-items-center.justify-content-between {
    flex-direction: column;
}
.path-video-planner .block-header .d-flex.flex-wrap.gap-3 {flex-direction: column;}
.path-video-planner .block-header .flex-grow-1.d-flex.align-items-center.justify-content-between .title {
    margin-bottom: 10px;
}

.auth-button.sign-up-btn .btn,
.auth-button.log-in-btn .btn,
.auth-button.sign-in-btn .btn {padding: 5px 10px;}
#add-event .field--type-datetime fieldset .fieldset-wrapper>div:not(.description){ display: block;}
#add-event .field--type-datetime fieldset .fieldset-wrapper>div:not(.description) .js-form-item:not(:last-child) {    margin-bottom: 15px;
}

#add-event .field--type-link .fieldset-wrapper {display: block;}
#add-event .field--type-link .fieldset-wrapper .js-form-item:not(:last-child) {
    margin-bottom: 15px;
}

.page-node-type-notes .dashaboard-inner h2.notes-title {line-height: normal;font-size: 20px;}
.thumbnails-btn-group {text-align: center;}
.thumbnails-btn-group .btn{ margin-top: 5px;}

.views-infinite-scroll-content-wrapper [class*=col-] {
    flex: 0 0 auto;
    width: 100%;
}

.creator-wrapper {display: block;}
.creator-wrapper .creator-img {flex: 0 0 100%;max-width: 100%;margin-bottom: 20px;}
.creator-wrapper .creator-blog-content {padding-left: 0;font-size: 14px;}

.view-creator-quotes .custom-table td:first-child {width: 170px;max-width: 170px;min-width: 170px; padding-right: 10px;}
.path-scheduled-posts .block-header {padding-right: 0; margin-bottom: 10px;}
.path-scheduled-posts .form-actions.js-form-wrapper.form-wrapper {top: 0; margin-bottom: 20px !important;}
.path-scheduled-posts .js-form-wrapper.form-wrapper {margin-bottom: 0px !important;}

.path-scheduled-posts form .form-actions.js-form-wrapper.form-wrapper {top: 0;}

.page-forbidden{ padding: 20px 0px;}


.dashboard-video-suggestions .column-col-9 {padding-left: 10px;}
.text-notes-list p {margin-bottom: 10px;}

body .custom-cnt-layout-6 .group-right.newlayout-group-right {padding-top: 20px;}
.custom-cnt-layout-3.custom-cnt-layout .user-contact-form-wrapper{ padding: 0px;}

.breakoutalertform.card .js-form-item.form-item.js-form-type-checkbox {padding-top: 0;}

.ui-dialog.smart-token-modal .sub-cate-wrapper.accordion-item .ac-save-button img {width: 13px;}
.ui-dialog.smart-token-modal .sub-cate-wrapper.accordion-item .ac-save-button {padding: 4px 5px;font-size: 12px;}

.ac-btn-title {max-width: 150px;}

div#add-descriptions .project-custom-tag.containerOuter.xyz .select-box, .node-descriptions-edit-form.node-form.form-custom-token-enabled.form_group_tokens .project-custom-tag.containerOuter.xyz .select-box {
    flex: 0 0 100%;
    width: 100%;
}

.page-node-type-video-script-template .ai-speech-modal-image{ max-width: 100% !important;}
form.text-to-speech-form .ts-middle-section, form.text-to-speech-form .ts-top-section {
    display: block;
}
form.text-to-speech-form .ts-middle-section .form-item, form.text-to-speech-form .ts-top-section .form-item {
    width: 100%;
}
.ai-speech-modal-image .manage-profile-sec { display: block;}

.path-scheduled-posts .block-header { margin-bottom: 10px;}


.desc-action-button-wrapper{ top: 10px;}

.checkout-pane.checkout-pane-payment-information.card fieldset.fieldgroup.form-composite .fieldset-wrapper>div {
    flex-direction: column;
}
.checkout-pane.checkout-pane-payment-information.card fieldset.fieldgroup.form-composite .js-form-item{ width: 100%;}

}


@media screen and (max-width: 1366px) {


    .path-video-planner .views-exposed-form.bef-exposed-form .form--inline{ position: static; padding-right: 0px;}

h2#fc-dom-1 {
    font-size: 14px;
    text-align: center;
}
}


@media screen and (min-width: 1199px) {
  .checkout-pane [data-drupal-selector="edit-payment-information-billing-information-address-0-address"] {
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
    display: grid;
    gap: 10px;
    align-items: end;
  }

  .checkout-pane [data-drupal-selector="edit-payment-information-billing-information-address-0-address-country-code"]{
    grid-column: span 4;
  }

  .checkout-pane [data-drupal-selector="edit-payment-information-billing-information-address-0-address-container0"]{
    grid-column: span 3;
  }

  .checkout-pane .form-item-payment-information-billing-information-address-0-address-address-line1 {
      grid-column: span 2;
  }

  .checkout-pane .js-form-item.form-item.js-form-type-select.form-item-payment-information-billing-information-address-0-address-administrative-area.js-form-item-payment-information-billing-information-address-0-address-administrative-area.form-group.control-field {
    grid-column: span 3;
}

}

@media screen and (max-width: 767px) {
.path-video-planner .views-exposed-form.bef-exposed-form .form--inline{ display: flex; align-items: center; justify-content: center;}
}

#block-tubespanner-purple-subscriptionblocks2 > div {
    display: flex;
}
.card.pd-16.card-generate-ai-script {margin-bottom: 15px;}

/* Modal animation css start*/
.ui-widget-overlay { background: #000; opacity: .5;}
div.ui-widget.ui-widget-content { margin: 0 auto;}

div.ui-widget.ui-widget-content.ui-autocomplete{ width: max-content !important;}*/

div.ui-widget.ui-widget-content, .modal .modal-dialog{animation: gb-popup-bounce-to-left 0.3s both;}

@keyframes gb-popup-bounce-to-left {
    0% {transform: translateX(600px);animation-timing-function: ease-in;opacity: 0;}
    30% {transform: translateX(600px);animation-timing-function: ease-out;opacity: 1;}
}
/* Modal animation css end*/

.dashboard-add-fb-stream .strem-wrapper card {
    display: block;
    position: unset;
}
.dashboard-add-fb-stream table#stream-table {
    margin: 20px auto;
}
.dashboard-add-fb-stream .add-facebook-stream #stream-table_wrapper {
    margin-bottom: 80px;
}
.dashboard-add-fb-stream .strem-wrapper .dataTables_length {
    position: unset;
}
.dashboard-add-fb-stream  .strem-wrapper .dataTables_filter {
    top: 12px;
}
@media screen and (max-width: 767px) {
    .dashboard-add-fb-stream .strem-wrapper .dataTables_length {
        text-align: unset;
    }
    .dashboard-add-fb-stream .strem-wrapper .dataTables_filter {
        text-align: unset;
    }
}

@media screen and (max-width: 500px){
  .flex-grow-1.d-flex.align-items-center.justify-content-between.scheduled-posts-button-wrapper {
      flex-direction: column;
  }
  .block-header .title {
      width: 100%;
  }
.scheduled-posts-link-sections {
    width: 100%;
    justify-content: flex-end;
}
}


.placeholder-blur {
  -webkit-filter: blur(3px);
  -moz-filter: blur(3px);
  -o-filter: blur(3px);
  -ms-filter: blur(3px);
  filter: blur(3px);
  width: 100%;
  height: 100%;
  background-color: #ccc;
}

.dashboard-seo-tool-title-workshop .progress {
    background: #f0e7e7;
}
.pl-5 {
  padding-left: 5px;
}
.progressiconic-wrapper svg {
   // width: 14%;
}
.text-black-100 {
    color: black;
}
.progressiconic-wrapper .marker-wrapper {
    top: 0px;
    width: calc(100% - 5px);
    left: 10px;
}
.grammer-words button {
    width: 100%;
}
.marker-wrapper svg {
    position: absolute;
}
.grammer-words p {
    margin-bottom: 0rem;
}
.col-12.lextronics-item {
    width: 100%;
}

.page-node-type-video-script-template .field--item .script-wrapper {
  display: flex;
  flex-direction: row-reverse
}
.script-top-right-wrapper a, .script-top-right-wrapper .clock-icons.global-ai-btn-box.ai-speech-btn-box.show-speech-btn-box a.brain-btn-icon, .script-top-right-wrapper .script-timeline-save-wrapper .btn.btn-primary {
  font-weight: 500;
}
.audience-avatar-wrapper .field--name-field-saved-audience {
  position: absolute;
  right: 0;
}
.page-node-type-video-script-template .script-modal .control-field .form-label {
  font-weight: normal;
}
.script-modal .control-field .form-control::placeholder {
  color: #B1B7C5;
}
p.script-form-help-text {
  font-size: 12px;
}
.page-node-type-video-script-template .script-modal .ui-widget-header span.ui-dialog-title {
  text-align: center;
}
@media screen and (max-width: 768px){
  .page-node-type-video-script-template.page-node-type-video-script-template div.ai-btn-box button {
    padding-left: 15px !important;
  }
}


/**
 * Kim panel, compact Do Next list and channel audit preview (dashboard).
 *
 * Colours come from the theme tokens, never from literals. The first pass of
 * this file used an indigo (#6c5ce7) that was not the brand purple at all, and
 * green for Send, which the house palette reserves for the Go / full-auto
 * action rather than for any primary button.
 *
 * Two contrast thresholds are checked, not one: a label against its fill (>=
 * 4.5:1) and the fill against the page (>= 3:1). Checking only the first is how
 * a control ends up readable but edgeless. Brand orange #F26419 is 3.0:1 on
 * white, so it is used for graphics such as the score bars but never for text;
 * score numbers use the deeper #C2410C instead.
 */
/* Match the house card exactly, which is `.card` in style.css: 12px radius,
   12px padding, and no border. These three panels had a 1px border and 20px
   padding, so they sat on the same page as My Recent Projects looking like a
   different family of card. The theme's card carries its own separation
   through the page background rather than through an outline. */
.ts-kim-panel,
.ts-donext-compact,
.ts-audit-preview {
  background: var(--bs-white, #fff);
  border: 0;
  border-radius: 12px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Tall enough to look like a conversation, short enough not to look empty.
   At 420px an unstarted chat left a large void between the openers and the
   input, and an empty box is exactly what a first-time creator sees. The panel
   still grows with the row, so a real conversation is unaffected. */
.ts-kim-panel { min-height: 340px; }

/* Kim and the next-steps list sit in one row and both stretch to whichever is
   taller, so the row height was whatever the checklist happened to be that
   day, and a long conversation could push the whole row down the page.
   Kim's log already had overflow-y: auto; it never engaged, because a panel
   with no definite height simply grew to fit the log instead of scrolling it.
   A fixed height is what makes the scrollbar real.

   530px is the old content height plus about a third: enough that a
   conversation reads as a conversation rather than a slot, without the pair
   pushing Channel health below the fold. Desktop only, since on a narrow
   screen the two stack and there is nothing to keep level. */
@media (min-width: 992px) {
  .ts-kim-panel,
  .ts-donext-compact {
    height: 530px;
  }
}

.ts-kim-panel__head {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 12px;
  border-bottom: 1px solid rgba(62, 33, 85, .1);
}

/* The avatar is an SVG that reacts to what Kim is doing, so it carries no
   colour of its own here; it reads the same tokens internally. */
.ts-kim-panel__head .ts-kim-face { flex: 0 0 auto; border-radius: 50%; }

.ts-kim-panel__title { margin: 0; font-size: 14px; font-weight: bold; line-height: 1.2; color: var(--title); }
.ts-kim-panel__sub { margin: 0; font-size: .8rem; color: var(--paragraph); }

.ts-kim-panel__log {
  flex: 1;
  /* Without this the log's automatic minimum is its content height, so a long
     conversation wins against the panel and the scrollbar never appears. */
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(62, 33, 85, .25) transparent;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}

.ts-kim-panel__msg {
  max-width: 82%;
  padding: .6rem .85rem;
  border-radius: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* The creator's own words in brand purple, Kim's on the pale tint. Purple
   carries white at 8.7:1 on this page, so the label ships with the fill. */
.ts-kim-panel__msg--you {
  align-self: flex-end;
  background: var(--primary-color);
  color: var(--bs-white, #fff);
  border-bottom-right-radius: 4px;
}

.ts-kim-panel__msg--kim {
  align-self: flex-start;
  background: var(--primary-light);
  color: var(--title);
  border-bottom-left-radius: 4px;
}

.ts-kim-panel__msg.is-pending { color: var(--paragraph); font-style: italic; }

.ts-kim-panel__starters {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  /* Even 12px all round: the chips now have the divider beneath them, so they
     need clearance from it rather than sitting flush. */
  padding: 12px;
}

.ts-kim-panel__starter {
  border: 1px solid rgba(103, 44, 114, .35);
  background: var(--bs-white, #fff);
  color: var(--primary-color);
  border-radius: 8px;
  padding: .4rem .8rem;
  font: inherit;
  font-size: .85rem;
  cursor: pointer;
}

.ts-kim-panel__starter:hover,
.ts-kim-panel__starter:focus-visible {
  background: var(--primary-light);
  border-color: var(--primary-color);
}

/* The divider sits BELOW the starters, not above them.
 *
 * The chips stay pinned out of the scrolling log, but they belong with the
 * conversation rather than with the input: the line separates the footer -
 * input and Send - from everything above it. Putting the border on the footer
 * wrapper drew it above the chips instead, which grouped them with the input
 * and read as one heavy block. */
.ts-kim-panel__form {
  display: flex;
  gap: .5rem;
  padding: 12px;
  border-top: 1px solid rgba(62, 33, 85, .1);
}

.ts-kim-panel__input {
  flex: 1;
  resize: none;
  border: 1px solid rgba(62, 33, 85, .2);
  border-radius: 10px;
  padding: .6rem .75rem;
  font: inherit;
  max-height: 140px;
  color: var(--title);
}

.ts-kim-panel__input:focus {
  outline: 2px solid var(--primary-color);
  outline-offset: 1px;
}

/* Send is a primary action, not the Go / full-auto action, so it is purple.
   Green is reserved for the green-square case and would misread here. */
.ts-kim-panel__send {
  align-self: flex-end;
  border: 0;
  border-radius: 10px;
  padding: .6rem 1.1rem;
  background: var(--primary-color);
  color: var(--bs-white, #fff);
  font-weight: 600;
  cursor: pointer;
}

.ts-kim-panel__send:disabled { opacity: .6; cursor: default; }

/* Kim's face. The states are drawn in KimAvatar.jsx; only the motion is here,
   and all of it is suppressed for anyone who asked for reduced motion. */
.ts-kim-face__halo { transform-origin: 60px 60px; }

.ts-kim-face.is-thinking .ts-kim-face__halo,
.ts-kim-face.is-reading .ts-kim-face__halo {
  animation: ts-kim-halo 6s linear infinite;
}

.ts-kim-face.is-thinking .ts-kim-face__dots circle { animation: ts-kim-dots 1.4s infinite; }
.ts-kim-face.is-thinking .ts-kim-face__dots circle:nth-child(2) { animation-delay: .2s; }
.ts-kim-face.is-thinking .ts-kim-face__dots circle:nth-child(3) { animation-delay: .4s; }
.ts-kim-face.is-writing .ts-kim-face__caret { animation: ts-kim-caret 1s steps(1) infinite; }

@keyframes ts-kim-halo { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes ts-kim-dots { 0%, 80%, 100% { opacity: .35; } 40% { opacity: 1; } }
@keyframes ts-kim-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .ts-kim-face__halo,
  .ts-kim-face__dots circle,
  .ts-kim-face__caret { animation: none !important; }
}

.ts-donext-compact,
.ts-audit-preview { padding: 12px; }

.ts-donext-compact__title,
.ts-audit-preview__title {
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 8px;
  color: var(--title);
}

/* Takes the space the fixed panel height leaves, and scrolls rather than
   overflowing it, so the "why this first?" note underneath stays reachable
   however many steps the engine returns. */
.ts-donext-compact__list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(62, 33, 85, .25) transparent;
}

.ts-donext-compact__item {
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem 0;
  border-bottom: 1px solid rgba(62, 33, 85, .08);
  font-size: .9rem;
  line-height: 1.35;
}

.ts-donext-compact__item:last-child { border-bottom: 0; }

/* The label is a button, not text: it opens the same detail modal the large
   cards use, which is where the reason for a suggestion lives. Stripped back to
   look like the text it replaced, since the row is the click target. */
.ts-donext-compact__open {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  flex: 1 1 auto;
  min-width: 0;
  background: none;
  border: 0;
  padding: .2rem 0;
  text-align: left;
  font: inherit;
  color: var(--title);
  cursor: pointer;
}

.ts-donext-compact__open:hover .ts-donext-compact__label,
.ts-donext-compact__open:focus-visible .ts-donext-compact__label {
  text-decoration: underline;
}

/* Label plus the subject it is about, stacked. min-width: 0 is what lets the
   context line ellipsise inside the flex row instead of stretching it. */
.ts-donext-compact__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* The actual name of the thing a task refers to (a video title). Muted so the
   action stays the loudest line; one line with ellipsis because titles run
   long and the row must keep its height. */
.ts-donext-compact__context {
  color: var(--paragraph);
  font-size: .78rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Same subject line on the full audit cards. */
.do-next-context {
  color: var(--paragraph);
  font-size: .8rem;
  margin: 0 0 .35rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Actions stay visible rather than appearing on hover: they must be reachable
   by touch and by keyboard, and a hidden control is not an available one. */
.ts-donext-compact__actions {
  display: flex;
  align-items: center;
  gap: .15rem;
  flex: 0 0 auto;
}

.ts-donext-compact__go,
.ts-donext-compact__skip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}

.ts-donext-compact__go { color: var(--primary-color); }
.ts-donext-compact__skip { color: var(--paragraph); }

.ts-donext-compact__go:hover,
.ts-donext-compact__go:focus-visible { background: var(--primary-light); }

.ts-donext-compact__skip:hover,
.ts-donext-compact__skip:focus-visible {
  background: rgba(62, 33, 85, .06);
  color: var(--title);
}

.ts-donext-compact__icon { color: var(--primary-color); margin-top: .15rem; }

.ts-donext-compact__empty,
.ts-audit-preview__note {
  font-size: .9rem;
  color: var(--paragraph);
  margin: 0 0 .75rem;
}

.ts-audit-preview__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
}

.ts-audit-preview__more { font-size: .8125rem; white-space: nowrap; color: var(--primary-color); }

.ts-audit-preview__list { list-style: none; margin: 0; padding: 0; }

.ts-audit-preview__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px 2.25rem;
  align-items: center;
  gap: .625rem;
  padding: .45rem 0;
}

.ts-audit-preview__label {
  font-size: .875rem;
  color: var(--title);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ts-audit-preview__bar {
  background: rgba(62, 33, 85, .08);
  border-radius: 999px;
  height: 6px;
  overflow: hidden;
}

.ts-audit-preview__fill { display: block; height: 100%; border-radius: 999px; }

.ts-audit-preview__score { font-size: .8125rem; font-weight: 600; text-align: right; }

/* Bars are graphics, so brand orange is fine on them. The numbers are text, and
   brand orange is only 3.0:1 on white, so they take the deeper orange. */
.ts-audit-preview__fill.is-good { background: #178055; }
.ts-audit-preview__fill.is-fair { background: var(--secondary-color); }
.ts-audit-preview__fill.is-poor { background: #B42318; }
.ts-audit-preview__score.is-good { color: #178055; }
.ts-audit-preview__score.is-fair { color: #C2410C; }
.ts-audit-preview__score.is-poor { color: #B42318; }

.ts-audit-preview__note--quiet { font-size: .8125rem; margin: .75rem 0 0; }

.ts-audit-preview__cta {
  /* TS-5237: the card is a flex column (.ts-audit-preview), so align-items
     defaults to stretch and every child is stretched across the cross axis -
     which in a column is the width. display: inline-block has no say once the
     element is a flex item, so this button spanned the whole card and read as a
     banner rather than a button.

     align-self on the button rather than align-items on the container: the
     container's other children - the title row, the note paragraph, the loading
     skeleton and the meter rows - are meant to fill the width, and changing the
     container would un-stretch all of them. */
  align-self: flex-start;
  display: inline-block;
  background: var(--primary-color);
  border-radius: 8px;
  color: var(--bs-white, #fff);
  font-size: .875rem;
  padding: .45rem .875rem;
  text-decoration: none;
}

.ts-audit-preview__cta:hover,
.ts-audit-preview__cta:focus-visible {
  color: var(--bs-white, #fff);
  filter: brightness(1.15);
}

/* Rank badge, overall roundel and the connecting aside.
   Added when the panels moved from integers to letter grades, matching the
   audit page and the extension: a grade answers "am I doing well", a
   percentage mostly reads as a distance from perfect. */
.ts-donext-compact__rank {
  flex: 0 0 1.15rem;
  height: 1.15rem;
  margin-top: .1rem;
  border-radius: 50%;
  background: var(--primary-light);
  color: var(--primary-color);
  font-size: .68rem;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.ts-donext-compact__aside {
  margin: .9rem 0 0;
  padding-top: .75rem;
  border-top: 1px solid rgba(62, 33, 85, .08);
  font-size: .8125rem;
  color: var(--paragraph);
}

.ts-donext-compact__aside strong { color: var(--title); font-weight: 600; }

/* The ring, the headline and the measured note. On a wide monitor the three
   sit across the card comfortably; at 1280 they share 467px and the headline
   is squeezed to 186px while running 278px tall beside an 84px ring, which is
   what made this card read as broken rather than merely tight.

   Wrapping is the whole fix. The ring and the headline keep the first line and
   the note drops underneath at full width, rather than being a third column
   holding one sentence. */
.ts-audit-preview__overall {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .9rem;
}
.ts-audit-preview .ts-audit-headline { flex: 1 1 240px; }
.ts-audit-preview__measured { flex: 1 1 100%; }

/* The grade was on screen three times in one line: in the ring, as the
   headline's own letter, and as the meter's current band. The ring keeps it,
   because the ring is the one that does something - it toggles to the
   percentage - and the headline's letter carried a second, identical flip
   control for the same number.

   Only the letter goes. Its parent also holds the delta ("+22"), which is the
   one thing in that block the ring does NOT say, so hiding the figure would
   have taken the movement with it.

   Scoped to the dashboard preview: the audit page and the states review page
   render this headline with no ring beside it, and there the letter is the
   only grade on screen. */
.ts-audit-preview .ts-audit-headline__score {
  display: none;
}

.ts-audit-preview__ring {
  width: 84px;
  height: 84px;
  flex: 0 0 auto;
}

.ts-audit-preview__ring[onclick],
.ts-audit-preview__ring:hover { cursor: pointer; }

.ts-audit-preview__ring-track {
  fill: none;
  stroke: rgba(62, 33, 85, .1);
  stroke-width: 8;
}

.ts-audit-preview__ring-arc {
  fill: none;
  stroke-width: 8;
  stroke-linecap: round;
  transition: stroke-dasharray .4s ease;
}

.ts-audit-preview__ring-text {
  text-anchor: middle;
  dominant-baseline: central;
  font-size: 24px;
  font-weight: 700;
  fill: var(--title);
}

/* The ring follows the same bands as the bars below it. The shared roundel
   paints one fixed green regardless of score, which is how a C came out
   looking like a pass. */
.ts-audit-preview__ring.is-good .ts-audit-preview__ring-arc { stroke: #178055; }
.ts-audit-preview__ring.is-fair .ts-audit-preview__ring-arc { stroke: var(--secondary-color); }
.ts-audit-preview__ring.is-poor .ts-audit-preview__ring-arc { stroke: #B42318; }

.ts-audit-preview__measured {
  margin: 0;
  font-size: .8125rem;
  color: var(--paragraph);
}

/* Letter grades are short, so the column that held a two digit number is
   widened slightly and the mark is allowed to carry more weight. */
.ts-audit-preview__score {
  font-size: .95rem;
  font-weight: 700;
  cursor: default;
}

/* Action offered inside a Kim message, currently only the quota gate. Purple
   because it is a primary action rather than the Go / full-auto case. */
.ts-kim-panel__action {
  display: inline-block;
  margin-top: .5rem;
  background: var(--primary-color);
  color: var(--bs-white, #fff);
  border-radius: 8px;
  font-size: .8125rem;
  font-weight: 600;
  padding: .35rem .75rem;
  text-decoration: none;
}

.ts-kim-panel__action:hover,
.ts-kim-panel__action:focus-visible { color: var(--bs-white, #fff); filter: brightness(1.15); }

/* Links Kim offers inside a reply. Underlined rather than colour-only, so they
   are identifiable without relying on colour perception. */
.ts-kim-panel__link {
  color: var(--primary-color);
  text-decoration: underline;
  font-weight: 600;
}

.ts-kim-panel__link:hover,
.ts-kim-panel__link:focus-visible { color: var(--title); }

/* -------------------------------------------------------------------------
 * Dashboard sparkle (TS-5174).
 *
 * The dashboard read flat because everything on it carried equal weight:
 * seven identical tool tiles, monoline icons in a single off-palette
 * magenta, and eleven near-identical score rows. None of this is new
 * layout, only hierarchy and colour.
 * ---------------------------------------------------------------------- */

/* Greeting and account status in the top strip.
 *
 * The strip is a fixed-height bar, so this is one line and stays one line.
 * The three-line eyebrow, headline and sub-line that used to sit above the
 * shortcuts are gone: they cost the dashboard its best space to say something
 * the page did not need repeating. */
/* The dashboard's first content row sits on the same line as the first menu
 * row.
 *
 * Both columns already start at y=56. What pushed the heading down to 88 was
 * .dashaboard-inner's 16px padding plus Bootstrap's g-3 column gutter, so
 * "Shortcuts" landed 21px below "Dashboard" and the top of the page read as
 * two things that nearly line up, which is worse than an obvious offset.
 *
 * Cancelling those two puts the block back at 56, and giving its header the
 * same 40px row height as a sidebar item means both centre their text at 76.
 * They share a centre line rather than merely starting near each other.
 *
 * Scoped to the width where the sidebar is actually beside the content. Below
 * that it is off-canvas and there is nothing to line up with, so the normal
 * spacing stands. */
@media (min-width: 992px) {
  .sec-toolbar-main {
    margin-top: -32px;
  }

  /* The heading had 9px above it and 19px below, so it read as stuck to the
     ceiling of the panel rather than sitting in a band of its own. The 40px
     here was chosen to match a sidebar item's height and share its centre
     line; that was the thing forcing the asymmetry, because the 10px gap to
     the cards is added on top of it. A taller band with no gap underneath
     gives equal air on both sides, which is what the eye actually reads. */
  .sec-toolbar-main .block-header > .d-flex {
    min-height: 48px;
  }
  .sec-toolbar-main .block-header {
    margin-bottom: 0;
  }

  /* Both sets of controls were positioned against the top of the section
     rather than against the heading, so the gear sat 2px ABOVE the panel and
     the arrows 22px above the word they belong to. Centre both on the same
     48px band as the heading: 12px down for a 24px control. */
  .sec-toolbar-main .gear-setting {
    top: 12px;
    /* The arrows used to be absolutely positioned 10px further right; now
       that they flow in their wrapper the gear has to move with them, or it
       ends up 2px from the first arrow while they sit 10px apart. */
    right: 88px;
  }
  .sec-toolbar-main > .position-absolute {
    top: 12px;
    right: 0;
    height: 24px;
    gap: 10px;
  }
  /* Swiper positions its own nav buttons absolutely against the slider, which
     is why their flex wrapper measured zero high and could not centre
     anything. In the header they are a normal pair of buttons. */
  .sec-toolbar-main > .position-absolute .swiper-button-prev,
  .sec-toolbar-main > .position-absolute .swiper-button-next {
    position: static;
    margin: 0;
  }
}

.ts-header-status {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  /* Sits directly above the page content rather than 2px off it.
     .header-logo is flex: 0 0 250px, the sidebar's exact width, so the strip's
     menu column belongs to the logo and the greeting cannot line up with the
     menu labels. The edge it CAN hold is the content column: the strip's nav
     pads 18px against .dashaboard-inner's 16px, so it was landing 2px right of
     everything below it. Close enough to look like a mistake rather than a
     choice, which is worse than being obviously offset. */
  margin-left: -2px;
}
.ts-header-status__greeting {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--ts-color-ink, #3e2155);
  white-space: nowrap;
}
.ts-header-status__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  /* A chip beside a pill needs this or the flex row stretches it to the
     greeting's height. Same trap the pill rows hit. */
  align-self: center;
  max-width: 42ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ts-header-status__dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: currentColor;
}
/* Three tones, and none of them rely on colour alone: each carries its own
   wording, and the hint is read out for anyone who cannot see the dot. */
.ts-header-status__chip--ok {
  color: #1b5e3f;
  background: #eef6f1;
  border-color: #cfe6da;
}
.ts-header-status__chip--warn {
  color: #8a4b06;
  background: #fdf3e7;
  border-color: #f0dcc2;
}
.ts-header-status__chip--action {
  color: #5b2c6f;
  background: var(--ts-tint-component, #efedf7);
  border-color: #ddd5ec;
}
a.ts-header-status__chip:hover,
a.ts-header-status__chip:focus-visible {
  text-decoration: underline;
}
/* Below the strip's breakpoint the bar is crowded and the greeting is the
   first thing that can go: the status is the part that is actionable. */
@media (max-width: 767px) {
  .ts-header-status__greeting {
    display: none;
  }
}

/* Tool rows.
 *
 * Tall centred tiles put three tools on screen and gave a sixth of the page
 * to them. The row form fits nine in less height, and the name reads at full
 * size on one line instead of wrapping inside a narrow tile.
 *
 * The stage colour moved from the icon to a rail on the card's leading edge.
 * That matters because 14 of the 34 tools have no icon: with the colour in
 * the icon, 41% of cards carried no colour at all and the row read grey no
 * matter how the tint was tuned. Every card has a leading edge. The rail is
 * also the device the next-steps list already uses, so the dashboard repeats
 * an idiom rather than inventing one.
 */
.sec-toolbar-main .toolbox-main--row {
  flex-direction: row;
  text-align: left;
  gap: 11px;
  padding: 10px 12px;
  border-radius: 10px;
  /* No left rail. The stage colour is already carried by the icon disc, and by
     the solid dot for tools with no icon yet, so an accent edge was a second
     copy of one signal. It was also justified in review as repeating the
     next-steps idiom, which was simply untrue: those rows separate with a
     bottom divider and there is no rail anywhere else in the product. */
  min-height: 46px;
}
.sec-toolbar-main .toolbox-main--row p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.25;
  text-align: left;
}
.sec-toolbar-main .icon-size {
  position: relative;
  display: grid;
  place-items: center;
  /* Sized to the row rather than the old tile: the icon is a recognition aid
     beside the name, not a headline above it. */
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  border-radius: 999px;
  /* The disc takes the workflow stage's colour, mixed here rather than stored
     as a second value, so recolouring a stage means editing one hex in the
     CMS. Falls back to the neutral for stages nobody has coloured. */
  background: var(--ts-tint-page, #f2eef8);
  background: color-mix(in srgb, var(--tool-hue, #4c4670) 14%, #fff);
}
.sec-toolbar-main .icon-size svg {
  width: 14px;
  height: 14px;
}
/* override.css sets `.dashboard .view-toolbox-dashboard .swiper svg` to 35px
   with a filter chain that repaints every icon a single flat colour. At
   (0,3,1) it beat the 14px rule above, so icons rendered at 35px inside a
   26px disc and spilled out of it, and the filter flattened the stage colour
   back out of the stroke. Both are undone here at (0,4,1), scoped to the tool
   icon so the navigation arrows keep their own treatment. */
.dashboard .view-toolbox-dashboard .toolbox-main--row .icon-size svg {
  width: 14px;
  height: 14px;
  filter: none;
}
/* An icon-less tool keeps the 26px slot so its name lines up with every other
   row, but drops the tinted disc for a small solid dot in the stage colour.
   The empty tinted disc read as a tile still loading; a dot reads as a
   deliberate marker, and it is quieter than a real icon rather than louder,
   which is the right way round. No invented glyph either way. The 25 terms
   with no icon are TS-5178. */
.sec-toolbar-main .toolbox-main--row .toolbar-tool-icon-placeholder {
  background: none;
}
.sec-toolbar-main .toolbox-main--row .toolbar-tool-icon-placeholder::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--tool-hue, #4c4670);
  /* Never the sole carrier of anything: the name says what the tool is, and
     the rail already states the stage. */
  opacity: 0.55;
}
.sec-toolbar-main .swiper-grid > .swiper-wrapper {
  /* Swiper Grid lays slides out in columns; without this the wrapper keeps the
     single-row flex direction and the three rows collapse onto one line. */
  flex-wrap: wrap;
}
.sec-toolbar-main .icon-size svg [stroke] {
  /* Icons are CMS content, all authored in one off-palette magenta, so the
     stroke is set here. It follows the stage colour, which is what makes the
     row scannable by where you are in the workflow. */
  stroke: var(--tool-hue, #4c4670);
}
/* The same retint for the fill-based icons, which the stroke rule could not
   reach. The set is mixed: some are outline SVGs with stroked paths, and some
   (the Font Awesome and Bootstrap ones) are solid shapes carrying
   fill="#E832FF" on the SVG ELEMENT itself rather than on any child. Those
   kept their magenta while the stroked ones took the stage colour, so the row
   showed two different icon palettes at once.
   fill="none" is left alone: outline icons rely on it, and forcing a colour
   there would fill shapes that are meant to be hollow. A presentation
   attribute loses to any CSS rule, so this reaches the root as well. */
.sec-toolbar-main .icon-size svg:not([fill="none"]) {
  fill: var(--tool-hue, #4c4670);
}
.sec-toolbar-main .icon-size svg [fill]:not([fill="none"]) {
  fill: var(--tool-hue, #4c4670);
}

/* Entrance: the tiles arrive in sequence rather than appearing at once, which
   also covers the moment the row currently pops in empty while the tools load.
   Runs once, forwards, so nothing moves again while the page is in use: this
   is a dashboard people pass through daily and repeated motion becomes
   friction. Six steps only, after which tiles simply appear, because a long
   stagger makes the last tile feel broken rather than considered. */
@keyframes ts-tool-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
/* backwards, not both. A filled animation keeps applying its end value for
   good, and animation values outrank normal declarations, so `both` ending on
   `transform: none` silently kills any transform later declared on these
   cards. That cost an afternoon: a card idiom rendered as a plain rectangle
   and looked like the stylesheet had not deployed. backwards still covers the
   delay, which is the only reason fill was needed. */
.sec-toolbar-main .swiper-slide > * {
  animation: ts-tool-in 320ms ease-out backwards;
}
.sec-toolbar-main .swiper-slide:nth-child(1) > * { animation-delay: 0ms; }
.sec-toolbar-main .swiper-slide:nth-child(2) > * { animation-delay: 30ms; }
.sec-toolbar-main .swiper-slide:nth-child(3) > * { animation-delay: 60ms; }
.sec-toolbar-main .swiper-slide:nth-child(4) > * { animation-delay: 90ms; }
.sec-toolbar-main .swiper-slide:nth-child(5) > * { animation-delay: 120ms; }
.sec-toolbar-main .swiper-slide:nth-child(6) > * { animation-delay: 150ms; }
.sec-toolbar-main .swiper-slide:nth-child(7) > * { animation-delay: 180ms; }
.sec-toolbar-main .swiper-slide:nth-child(8) > * { animation-delay: 210ms; }
/* Nine cards, so the ramp ends at the ninth rather than running on for the
   full page of tools behind it. */
.sec-toolbar-main .swiper-slide:nth-child(n+9) > * { animation-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
  .sec-toolbar-main .swiper-slide > * { animation: none; }
}
/* An orange dot appearing on hover read as a notification badge arriving
   from nowhere, which is worse than the flatness it was meant to fix. The
   disc deepening its tint is enough to say the tile is live. */
.sec-toolbar-main .icon-size {
  transition: background-color 140ms ease;
}
.sec-toolbar-main .swiper-slide:hover .icon-size,
.sec-toolbar-main a:focus-visible .icon-size {
  background: var(--ts-tint-component, #efedf7);
  background: color-mix(in srgb, var(--tool-hue, #4c4670) 24%, #fff);
}
/* Hover keeps two signals without the rail: the disc deepens and the card lifts
   on its border and shadow, so the affordance still survives greyscale. */
.sec-toolbar-main .toolbox-main--row {
  transition: background-color 140ms ease;
}
.sec-toolbar-main .swiper-slide > * {
  transition: transform 140ms ease, box-shadow 140ms ease;
}
.sec-toolbar-main .swiper-slide:hover > * {
  border-color: rgba(62, 33, 85, 0.22);
  box-shadow: 0 2px 8px rgba(62, 33, 85, 0.08);
}

/* Channel health: verdict line, then the six-band meters.
 *
 * The meter classes are named for what they are rather than for the one card
 * that used to own them. They were ts-audit-preview__meter, which read as
 * dashboard-only and is part of why the audit page grew its own progress bars
 * instead of reusing this. The component is commonComponent/seoTools/GradeMeter. */
.ts-audit-preview__verdict {
  font-weight: 700;
  color: var(--ts-color-ink, #3e2155);
  margin: 0 0 4px;
}
.ts-grade-meter {
  display: flex;
  gap: 2px;
  align-items: stretch;
  /* Fills its column rather than sitting at a fixed width in a card three
     times as wide, which is what made these read as stranded widgets. The
     floor keeps six bands and their letters legible in the narrow five-across
     rows; the ceiling stops a meter spanning a whole card and reading as a
     progress bar again. */
  width: 100%;
  min-width: 104px;
  max-width: 280px;
  /* Sized in both axes, and explicitly not a growing flex item.
     `flex: 1 1 auto` grows along whatever the PARENT's main axis happens to
     be, and some of these parents are flex columns, so the meter stretched
     vertically and rendered 66px tall instead of 20. A component dropped into
     containers it does not control cannot assume the axis: fix the height and
     refuse to grow. Same family as the RowWrapper stretch trap. */
  height: 20px;
  flex: 0 0 auto;
  /* Centre, not flex-start. In a flex column parent the cross axis is
     horizontal, so flex-start left-aligned the meter inside columns whose
     label, grade and text are all centred, and the row read as ragged. Centre
     is correct in both axes: in a row parent it only affects the vertical,
     where the meter has a fixed height anyway. */
  align-self: center;
}
.ts-grade-meter__seg {
  flex: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 800;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.ts-grade-meter__seg:first-child { border-radius: 5px 0 0 5px; }
.ts-grade-meter__seg:last-child { border-radius: 0 5px 5px 0; }
/* Unreached bands stay visible so the scale can be read, but recede. At this
   opacity they are decorative, so no contrast threshold applies. */
.ts-grade-meter__seg { opacity: 0.16; }
.ts-grade-meter__seg.is-current {
  opacity: 1;
  /* A hard ink outline read as a black box stamped on the track, which at
     these sizes fought the colour it was meant to point at. A ring in the ink
     at low alpha plus a soft lift marks the band as raised out of the scale
     instead, and it still works in greyscale because the band is also the only
     one at full opacity. */
  box-shadow:
    0 0 0 2px rgba(62, 33, 85, 0.55),
    0 1px 3px rgba(62, 33, 85, 0.25);
  border-radius: 3px;
  position: relative;
  z-index: 1;
}
.ts-grade-meter__seg.is-f { background: var(--ts-score-f-bg, #b42318); }
.ts-grade-meter__seg.is-d { background: var(--ts-score-d-bg, #c2410c); }
.ts-grade-meter__seg.is-c { background: var(--ts-score-c-bg, #9a6207); }
.ts-grade-meter__seg.is-b { background: var(--ts-score-b-bg, #4f7a12); }
.ts-grade-meter__seg.is-a { background: var(--ts-score-a-bg, #1b7a3e); }
.ts-grade-meter__seg.is-a-plus { background: var(--ts-score-a-plus-bg, #12703f); }


/* Next steps: the first one is the recommendation, the rest are the queue. */
.ts-donext-compact__item--hero {
  background: linear-gradient(135deg, #672c72 0%, #7d3fa8 100%);
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 10px;
}
.ts-donext-compact__item--hero .ts-donext-compact__label { color: #fff; font-weight: 700; }
.ts-donext-compact__item--hero .ts-donext-compact__rank {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.ts-donext-compact__item--hero .ts-donext-compact__go,
.ts-donext-compact__item--hero .ts-donext-compact__skip { color: #fff; }

/* The hero's controls need their own hover.
 *
 * The shared rule sets background: var(--primary-light) on hover, which is
 * #F2EEF8 - a near-white lilac chosen to sit behind a PURPLE arrow on the white
 * rows. On the hero the arrow is #fff, so hovering put a white arrow on a
 * near-white chip and the control vanished under the cursor.
 *
 * rgba(255,255,255,.22) is the value the hero's own rank badge already uses,
 * and it reads as a lighter purple over the 135deg #672c72 -> #7d3fa8 gradient,
 * so the white arrow keeps its contrast and the hover is still visible
 * feedback. Both controls, so the pair behaves the same way. */
.ts-donext-compact__item--hero .ts-donext-compact__go:hover,
.ts-donext-compact__item--hero .ts-donext-compact__go:focus-visible,
.ts-donext-compact__item--hero .ts-donext-compact__skip:hover,
.ts-donext-compact__item--hero .ts-donext-compact__skip:focus-visible {
  background: rgba(255, 255, 255, 0.22);
}
.ts-donext-compact__hero-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 10px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .sec-toolbar-main .swiper-slide > * {
    transition: none;
    /* No entrance at all rather than a faster one: the point of the setting is
       that motion is unwelcome, not that it should be brief. */
    animation: none;
  }
  .sec-toolbar-main .icon-size { transition: none; }
}

/* Card alignment in the tool row (TS-5174 follow-up).
 *
 * Labels wrap to one or two lines depending on the tool name, so the cards
 * were ending up different heights with their icons at different vertical
 * positions. Stretch the slides to a common height and let the label block
 * absorb the difference, so icons sit on one line across the row whatever
 * the names are. */
.sec-toolbar-main .swiper-slide {
  height: auto;
  display: flex;
  align-items: stretch;
}
/* Tile metrics retired with the tile. These sat later in the file than the
   row rules and won on equal specificity, which is what kept the cards at
   76px, so they are corrected here rather than out-specified. */
.sec-toolbar-main .toolbox-main {
  width: 100%;
  height: 100%;
  justify-content: flex-start;
  gap: 11px;
  padding: 10px 12px;
}
.sec-toolbar-main .toolbox-main p {
  margin: 0;
  /* No reserved second line. The tile needed it so a one-word name did not
     ride up against a centred icon; in a row the name is vertically centred
     beside the disc and a second line only ever adds dead height. */
  display: flex;
  align-items: center;
  text-align: left;
}
.sec-toolbar-main .icon-size {
  flex: 0 0 auto;
}

/* The hero eyebrow is a span inside a span, so it needs to be a block or it
   runs straight into the label ("DO THIS FIRSTSupercharge YouTube Studio"). */
.ts-donext-compact__hero-eyebrow {
  display: block;
}

/* Why-you-are-here note on the connected accounts page (TS-5174).
   Uses the component tint with a brand edge, so it reads as context rather
   than as a warning. */
.ts-accounts__arrival {
  background: var(--ts-tint-component, #efedf7);
  border-left: 4px solid var(--ts-btn-primary-bg, #672c72);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 0 0 18px;
  font-weight: 600;
  color: var(--ts-color-ink, #3e2155);
}

/* The score ring is interactive: clicking swaps the grade for the percentage.
   Nothing advertised that, so it needs to look pressable and to keep a
   visible focus ring for keyboard users. */
.ts-audit-preview__ring-btn {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  border-radius: 999px;
  line-height: 0;
  transition: transform 120ms ease;
}
.ts-audit-preview__ring-btn:hover {
  transform: scale(1.03);
}
.ts-audit-preview__ring-btn:focus-visible {
  outline: 3px solid var(--ts-color-eyebrow, #6d648f);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .ts-audit-preview__ring-btn { transition: none; }
}

/* Score ring and row marks: fallback-band corrections (TS-5174 follow-up).
 *
 * The ring is sized for a letter. A percentage is three or four characters
 * in the same space, which overflowed the arc and read as the loudest thing
 * on the dashboard. Shrink only when the label is long, so the grade keeps
 * its presence. */
.ts-audit-preview__ring-text.is-long {
  font-size: 17px;
  letter-spacing: -0.01em;
}

/* The letter beside a meter must match the segment the meter highlights.
 * These previously used the good/fair/poor band classes, so a B rendered
 * orange beside a green B segment: one grade, two colours, on one row. */
.ts-audit-preview__score.is-grade-f { color: var(--ts-score-f-bg, #b42318); }
.ts-audit-preview__score.is-grade-d { color: var(--ts-score-d-bg, #c2410c); }
.ts-audit-preview__score.is-grade-c { color: var(--ts-score-c-bg, #9a6207); }
.ts-audit-preview__score.is-grade-b { color: var(--ts-score-b-bg, #4f7a12); }
.ts-audit-preview__score.is-grade-a { color: var(--ts-score-a-bg, #1b7a3e); }
.ts-audit-preview__score.is-grade-a-plus { color: var(--ts-score-a-plus-bg, #12703f); }

/* The context label on the promoted step.
 *
 * It inherits the muted grey meant for a white row, which lands at 1.80:1 on
 * the purple fill: unreadable, and introduced by promoting the first row
 * without restyling what sits inside it. A light lavender reads at 7.83
 * against the darker end of the gradient while still sitting behind the
 * label, which is what the muted treatment was for. */
.ts-donext-compact__item--hero .ts-donext-compact__context {
  color: #efe4f3;
}

/* Shared button METRICS for the house roles.
 *
 * The colour rules below fixed half the problem and left the other half in
 * place, which is why "Schedule a post" and "Add event" sat side by side on
 * the content calendar at visibly different sizes.
 *
 * Only `.btn.btn-primary` was ever given a shape (style.css:485). Every other
 * role got a colour here and nothing else, so its padding, font size, weight
 * and radius all fell through to Bootstrap's `.btn` default:
 *
 *   .btn.btn-primary    10px 18px   14px / 500   radius 8px   border 0
 *   bootstrap .btn       6px 12px   16px / 400   radius 4px   border 1px
 *
 * A role class should decide what a button MEANS, never how big it is. Two
 * buttons in the same action row must be the same object in two colours.
 *
 * Kept at two classes so it matches .btn.btn-primary's specificity exactly
 * and any existing page-scoped override still wins, the same restraint
 * core-buttons.css uses for the Drupal vocabulary. */
.btn.btn-secondary,
.btn.btn-light,
.btn.btn-outline-primary,
.btn.btn-outline-secondary,
.btn.btn-outline-success {
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  /* 1.5, matching .btn.btn-primary. This was 1.2, which left every non-primary
     role 4.2px shorter than the primary beside it: measured live on the
     content calendar, "Schedule a post" at 41px against "Add event" at 36.8px,
     with identical padding, font-size and radius. The padding fix was correct
     and incomplete. */
  line-height: 1.5;
  text-align: center;
  border-width: 0;
  border-style: solid;
}

/* The outline role is the exception: its edge IS the control, so it keeps a
   border where the filled roles drop theirs. Width is set here rather than
   left to Bootstrap so the two roles still measure the same overall. */
.btn.btn-outline-primary,
.btn.btn-outline-secondary,
.btn.btn-outline-success,
.btn.btn-light {
  border-width: 1px;
  padding: 9px 17px;
}

/* btn-secondary means orange, on its own.
 *
 * It never did. The theme's orange only existed on selectors that required
 * BOTH classes, `.btn.btn-primary.btn-secondary`, and only inside particular
 * page scopes. A bare `.btn-secondary` fell through to Bootstrap's grey.
 *
 * That is why removing the redundant btn-primary turned six audit buttons
 * grey: they were not styled as secondary buttons, they were styled as
 * primary-buttons-that-also-had-secondary, and the pair was doing the work.
 *
 * One class, one role. #c2410c carries white at 5.18:1 and separates from the
 * page at 5.18:1, so it clears both thresholds. */
.btn.btn-secondary,
.btn-secondary {
  background: var(--secondary-color, #c2410c);
  border-color: var(--secondary-color, #c2410c);
  color: #fff;
}

/* An icon inside an orange button is white, regardless of how the button was
   classed. This moved here from style.css with the pair rule it belonged to;
   it was never about the pair, only about the fill it sat on. */
.btn.btn-secondary path,
.btn-secondary path {
  fill: #fff;
}

/* TRANSITIONAL. Delete this block when the markup is cleaned up.
 *
 * 53 places still emit `class="btn btn-primary btn-secondary"`. Both role
 * rules are two classes, so they are the SAME specificity, which means the
 * winner is decided purely by this file loading after style.css. That gives
 * the right answer today and it is an accident of libraries.yml ordering
 * rather than anything the selectors say.
 *
 * Removing the old pair rule without this would have left the estate's most
 * common button depending on a line number. So the pair keeps ONE explicit
 * definition, here, next to the role it resolves to, instead of the six
 * scattered copies it had before.
 *
 * This is the only place in the theme that mentions both classes. When the
 * markup drops the redundant btn-primary, this block goes with it and
 * nothing else has to change. */
.btn.btn-primary.btn-secondary {
  background: var(--secondary-color, #c2410c);
  border-color: var(--secondary-color, #c2410c);
  color: #fff;
}

.btn.btn-secondary:hover,
.btn-secondary:hover {
  background: #a8380a;
  border-color: #a8380a;
  color: #fff;
}

/* The three role classes that had no house definition.
 *
 * Found by walking four pages. Each of these is a Bootstrap class the product
 * uses constantly and the theme never styled, so every instance fell through
 * to a Bootstrap default that does not belong to us. Fixed once here rather
 * than patched per page, because that is the shape of the problem: one gap,
 * appearing wherever anyone looked.
 *
 * btn-secondary is defined above. These are the other two.
 */

/* Outline primary. Was raw Bootstrap blue, rgb(13,110,253), on the project
   hub error state and anywhere else an outline button appears. Brand purple
   holds 8.81:1 as a label on white and 7.09:1 on glass, and the same value
   carries the border, which is what gives the control an edge. */
.btn.btn-outline-primary,
.btn-outline-primary {
  color: var(--primary-color, #672c72);
  border-color: var(--primary-color, #672c72);
  background: transparent;
}

.btn.btn-outline-primary:hover,
.btn-outline-primary:hover {
  background: var(--primary-color, #672c72);
  border-color: var(--primary-color, #672c72);
  color: #fff;
}

/* Outline secondary and outline success: the two roles this file still had
 * not defined, found live rather than by reading.
 *
 * The QA session measured "View your plan" on /onboarding and got
 * colour #6c757d with a 4px radius. Both are Bootstrap's own values, so that
 * control had received NEITHER the theme's colour nor its metrics. Not a near
 * miss: entirely unstyled by us. 21 markup sites use btn-outline-secondary
 * and 1 uses btn-outline-success.
 *
 * Worth recording how it was found, because the technique generalises. Hue is
 * unreliable through a video encode but RADIUS is not, and ours is 8px against
 * Bootstrap's 4px. A 4px corner is therefore a reliable tell that a role class
 * fell through, and it survives any compression. The same page turned up three
 * distinct sub-cases with it: unstyled entirely, coloured but not sized, and
 * hand-sized off-system at 10px.
 *
 * Colours follow the roles signed off 2026-07-23 rather than Bootstrap's
 * palette. Orange is the alternative or lower-emphasis flow; green is Go.
 * #c2410c measures 5.18:1 on white and #178055 measures 4.94:1, so each
 * clears 4.5 as a label and 3 as a border in one value. */
.btn.btn-outline-secondary,
.btn-outline-secondary {
  color: var(--secondary-color, #c2410c);
  border-color: var(--secondary-color, #c2410c);
  background: transparent;
}

.btn.btn-outline-secondary:hover,
.btn-outline-secondary:hover {
  background: var(--secondary-color, #c2410c);
  border-color: var(--secondary-color, #c2410c);
  color: #fff;
}

.btn.btn-outline-success,
.btn-outline-success {
  color: var(--ts-btn-go-bg, #178055);
  border-color: var(--ts-btn-go-bg, #178055);
  background: transparent;
}

.btn.btn-outline-success:hover,
.btn-outline-success:hover {
  background: var(--ts-btn-go-bg, #178055);
  border-color: var(--ts-btn-go-bg, #178055);
  color: #fff;
}

/* Light. This is the one that kept failing: Suggestions, SKIP, Add Outline,
   Who's watching and Remove all sat between 1 and 1.14 against the surface
   behind them, so the button had no perceivable edge at all. Five instances
   across four pages, one cause.
 *
 * The fill stays pale, because these are low-weight repeated actions and
 * should not shout. The edge does the work instead. #6f6786 measures 5.30:1
 * against a white card and 4.27:1 against a frosted panel, so it clears the
 * 3:1 boundary threshold on both surfaces, which the pale greys did not.
 * The label is #5b5872 at 6.46:1 on the fill. */
.btn.btn-light,
.btn-light {
  background: #f8f9fa;
  border: 1px solid var(--ts-border-control, #6f6786);
  color: #5b5872;
}

.btn.btn-light:hover,
.btn-light:hover {
  background: #efecf7;
  border-color: var(--primary-color, #672c72);
  color: var(--primary-color, #672c72);
}

/* Empty-state card.
 *
 * The layout now lives with .card-audience in style.css, because the two are
 * the same layout and were duplicated: empty states across the estate were
 * built by copying the audience card. Keeping one definition for both is the
 * point of this class, not a second copy of the rules.
 *
 * What .ts-empty-state exists for is the ONE declaration it does not inherit:
 * .card-audience paints its primary button with --secondary-color, so every
 * borrowed empty state rendered its call to action orange regardless of what
 * the action did. Under the roles signed off 2026-07-23 orange means an
 * alternative or lower-emphasis flow, which an empty state's only action
 * never is.
 *
 * The audience rule is correct for its own feature and stays there. */


/* An exposed filter's reset is never the page's primary action.
 *
 * Drupal gives the exposed form's reset button btn btn-primary, so on the
 * notes page the loudest control was "Clear", a filter reset, rendered in
 * full brand purple and centred, while nothing on the page carried the
 * action a visitor actually came for. Fifteen views expose a reset button,
 * so this was fifteen pages leading with their least important control.
 *
 * Scoped to the exposed form and to name="reset" so it cannot reach a real
 * submit. This is the quiet-control treatment: a control that is available
 * without competing, same values as .btn-light.
 */
.views-exposed-form .btn.btn-primary[name="reset"],
.views-exposed-form .btn.btn-primary[id^="edit-reset"] {
  background: #f8f9fa;
  border: 1px solid var(--ts-border-control, #6f6786);
  color: #5b5872;
  font-weight: 500;
}
.views-exposed-form .btn.btn-primary[name="reset"]:hover,
.views-exposed-form .btn.btn-primary[name="reset"]:focus-visible,
.views-exposed-form .btn.btn-primary[id^="edit-reset"]:hover,
.views-exposed-form .btn.btn-primary[id^="edit-reset"]:focus-visible {
  background: #eceaf1;
  border-color: #5b5872;
  color: #3d3a4d;
}
