/* ============================================================
   Trek Touring Core — Front-end Forms Premium Skin
   Loaded by article / gpx / struttura shortcodes
   Author: ZWaveAgency
   ============================================================ */

.ttc-form-premium,
.ttc-article-form--premium,
.ttc-gpx-form--premium,
.ttc-struttura-form--premium {
    --ttc-premium-bg-top: #ffffff;
    --ttc-premium-bg-bottom: #f3f8e6;
    --ttc-premium-border: #d2dfaf;
    --ttc-premium-border-strong: #bfd288;
    --ttc-premium-shadow: 0 18px 38px rgba(0, 0, 0, .07);
    --ttc-premium-focus: rgba(140, 169, 47, .2);
    --ttc-premium-text: #1f2b0d;
    --ttc-premium-muted: #5d6c3b;

    max-width: 920px;
    margin: 1rem 0 1.25rem;
    padding: 1.3rem 1.4rem;
    border: none;
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0);
    background: #ffffff;
    box-shadow: var(--ttc-premium-shadow);
}

/* Consistenza forzata: itinerari + strutture uguali al form articoli */
.ttc-gpx-form--premium,
.ttc-struttura-form--premium {
    max-width: 920px !important;
    margin: 1rem 0 1.25rem !important;
    padding: 1.3rem 1.4rem !important;
    border: none !important;
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0) !important;
    background: #ffffff !important;
    box-shadow: var(--ttc-premium-shadow) !important;
}

.ttc-form-premium > p,
.ttc-form-premium > fieldset,
.ttc-article-form--premium > p,
.ttc-article-form--premium > fieldset,
.ttc-gpx-form--premium > p,
.ttc-gpx-form--premium > fieldset,
.ttc-struttura-form--premium > p,
.ttc-struttura-form--premium > fieldset {
    margin: 0 0 1.05rem;
}

.ttc-form-premium > p:last-child,
.ttc-article-form--premium > p:last-child,
.ttc-gpx-form--premium > p:last-child,
.ttc-struttura-form--premium > p:last-child {
    margin-bottom: 0;
}

.ttc-form-premium label,
.ttc-form-premium .ttc-label,
.ttc-article-form--premium label,
.ttc-article-form--premium .ttc-label,
.ttc-gpx-form--premium label,
.ttc-gpx-form--premium .ttc-label,
.ttc-struttura-form--premium label,
.ttc-struttura-form--premium .ttc-label {
    color: var(--ttc-premium-text);
    font-weight: 700;
    letter-spacing: .01em;
}

.ttc-gpx-form--premium label,
.ttc-gpx-form--premium .ttc-label,
.ttc-struttura-form--premium label,
.ttc-struttura-form--premium .ttc-label {
    color: var(--ttc-premium-text) !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
}

.ttc-article-form--premium .ttc-field-note {
    margin-left: .35rem;
    color: var(--ttc-premium-muted);
    font-size: .84rem;
}

.ttc-form-premium input[type="text"],
.ttc-form-premium input[type="url"],
.ttc-form-premium input[type="email"],
.ttc-form-premium input[type="number"],
.ttc-form-premium input[type="file"],
.ttc-form-premium textarea,
.ttc-form-premium select,
.ttc-article-form--premium input[type="text"],
.ttc-article-form--premium input[type="url"],
.ttc-article-form--premium input[type="email"],
.ttc-article-form--premium input[type="number"],
.ttc-article-form--premium input[type="file"],
.ttc-article-form--premium textarea,
.ttc-article-form--premium select,
.ttc-gpx-form--premium input[type="text"],
.ttc-gpx-form--premium input[type="url"],
.ttc-gpx-form--premium input[type="email"],
.ttc-gpx-form--premium input[type="number"],
.ttc-gpx-form--premium input[type="file"],
.ttc-gpx-form--premium textarea,
.ttc-gpx-form--premium select,
.ttc-struttura-form--premium input[type="text"],
.ttc-struttura-form--premium input[type="url"],
.ttc-struttura-form--premium input[type="email"],
.ttc-struttura-form--premium input[type="number"],
.ttc-struttura-form--premium input[type="file"],
.ttc-struttura-form--premium textarea,
.ttc-struttura-form--premium select {
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--ttc-premium-border);
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0);
    background: #ffffff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ttc-form-premium input[type="file"],
.ttc-article-form--premium input[type="file"],
.ttc-gpx-form--premium input[type="file"],
.ttc-struttura-form--premium input[type="file"] {
    padding: .55rem .8rem;
    background: #f8fbeff2;
    cursor: pointer;
}

/* Override forte contro legacy .ttc-struttura-form ... !important */
.ttc-gpx-form--premium input[type="text"],
.ttc-gpx-form--premium input[type="url"],
.ttc-gpx-form--premium input[type="email"],
.ttc-gpx-form--premium input[type="number"],
.ttc-gpx-form--premium input[type="file"],
.ttc-gpx-form--premium textarea,
.ttc-gpx-form--premium select,
.ttc-struttura-form--premium input[type="text"],
.ttc-struttura-form--premium input[type="url"],
.ttc-struttura-form--premium input[type="email"],
.ttc-struttura-form--premium input[type="number"],
.ttc-struttura-form--premium input[type="file"],
.ttc-struttura-form--premium textarea,
.ttc-struttura-form--premium select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: .55rem .8rem !important;
    border: 1px solid var(--ttc-premium-border) !important;
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0) !important;
    font-size: .95rem !important;
    background: #ffffff !important;
    color: #1f2b0d !important;
    box-shadow: none !important;
}

.ttc-gpx-form--premium input[type="file"],
.ttc-struttura-form--premium input[type="file"] {
    background: #f8fbeff2 !important;
    cursor: pointer !important;
}

.ttc-gpx-form--premium textarea,
.ttc-struttura-form--premium textarea {
    resize: vertical !important;
}

.ttc-gpx-form--premium input[type="text"]:focus,
.ttc-gpx-form--premium input[type="url"]:focus,
.ttc-gpx-form--premium input[type="email"]:focus,
.ttc-gpx-form--premium input[type="number"]:focus,
.ttc-gpx-form--premium input[type="file"]:focus,
.ttc-gpx-form--premium textarea:focus,
.ttc-gpx-form--premium select:focus,
.ttc-struttura-form--premium input[type="text"]:focus,
.ttc-struttura-form--premium input[type="url"]:focus,
.ttc-struttura-form--premium input[type="email"]:focus,
.ttc-struttura-form--premium input[type="number"]:focus,
.ttc-struttura-form--premium input[type="file"]:focus,
.ttc-struttura-form--premium textarea:focus,
.ttc-struttura-form--premium select:focus {
    border-color: var(--ttc-premium-border-strong) !important;
    box-shadow: 0 0 0 3px var(--ttc-premium-focus) !important;
    outline: none !important;
}

.ttc-gpx-form--premium .ttc-gpx-location-cascade select {
    max-width: 100% !important;
}

/* Override forte contro legacy .ttc-product-form input[type="number"] !important */
.ttc-product-form--premium input[type="number"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: .55rem .8rem !important;
    border: 1px solid var(--ttc-premium-border) !important;
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0) !important;
    font-size: .95rem !important;
    background: #ffffff !important;
    color: #1f2b0d !important;
    box-shadow: none !important;
}

.ttc-product-form--premium input[type="number"]:focus {
    border-color: var(--ttc-premium-border-strong) !important;
    box-shadow: 0 0 0 3px var(--ttc-premium-focus) !important;
    outline: none !important;
}

.ttc-form-premium input[type="text"]:focus,
.ttc-form-premium input[type="url"]:focus,
.ttc-form-premium input[type="email"]:focus,
.ttc-form-premium input[type="number"]:focus,
.ttc-form-premium input[type="file"]:focus,
.ttc-form-premium textarea:focus,
.ttc-form-premium select:focus,
.ttc-article-form--premium input[type="text"]:focus,
.ttc-article-form--premium input[type="url"]:focus,
.ttc-article-form--premium input[type="email"]:focus,
.ttc-article-form--premium input[type="number"]:focus,
.ttc-article-form--premium input[type="file"]:focus,
.ttc-article-form--premium textarea:focus,
.ttc-article-form--premium select:focus,
.ttc-gpx-form--premium input[type="text"]:focus,
.ttc-gpx-form--premium input[type="url"]:focus,
.ttc-gpx-form--premium input[type="email"]:focus,
.ttc-gpx-form--premium input[type="number"]:focus,
.ttc-gpx-form--premium input[type="file"]:focus,
.ttc-gpx-form--premium textarea:focus,
.ttc-gpx-form--premium select:focus,
.ttc-struttura-form--premium input[type="text"]:focus,
.ttc-struttura-form--premium input[type="url"]:focus,
.ttc-struttura-form--premium input[type="email"]:focus,
.ttc-struttura-form--premium input[type="number"]:focus,
.ttc-struttura-form--premium input[type="file"]:focus,
.ttc-struttura-form--premium textarea:focus,
.ttc-struttura-form--premium select:focus {
    border-color: var(--ttc-premium-border-strong);
    box-shadow: 0 0 0 3px var(--ttc-premium-focus);
    outline: none;
}

/* Categorie multiple: box premium + layout a griglia */
.ttc-article-form--premium .ttc-article-categories {
    border: 1px solid var(--ttc-premium-border);
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0);
    background: #fbfdf6;
    padding: .95rem 1rem;
}

.ttc-article-form--premium .ttc-article-categories legend.ttc-label {
    color: var(--ttc-premium-text);
    font-size: .93rem;
}

.ttc-article-form--premium .ttc-article-categories .ttc-checkbox-label {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: .2rem 0;
    padding: .38rem .5rem;
    border-radius: 10px;
    background: transparent;
    border: 1px solid transparent;
    transition: background-color .18s ease, border-color .18s ease;
}

.ttc-article-form--premium .ttc-article-categories .ttc-checkbox-label:hover {
    background: rgba(140, 169, 47, .08);
    border-color: #d6e4b4;
}

.ttc-article-form--premium .ttc-article-categories .ttc-checkbox-label input[type="checkbox"] {
    width: 17px;
    height: 17px;
    accent-color: #8CA92F;
}

/* Form prodotto: condizione + categorie dinamiche */
.ttc-product-form--premium .ttc-product-categories {
    border: 1px solid var(--ttc-premium-border);
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0);
    background: #fbfdf6;
    padding: .95rem 1rem;
}

.ttc-product-form--premium .ttc-product-categories legend.ttc-label {
    color: var(--ttc-premium-text);
    font-size: .93rem;
}

.ttc-product-form--premium .ttc-product-condition-row,
.ttc-product-form--premium .ttc-product-condition-box p {
    margin: 0 0 .75rem;
}

.ttc-product-form--premium .ttc-product-condition-row label,
.ttc-product-form--premium .ttc-product-condition-box label {
    display: block;
    margin-bottom: .28rem;
    font-weight: 600;
}

.ttc-product-form--premium .ttc-product-condition-row select,
.ttc-product-form--premium .ttc-product-condition-box select {
    width: 100%;
    max-width: 460px;
}

.ttc-product-form--premium .ttc-product-condition-box {
    display: none;
    margin-top: .7rem;
    padding: .8rem .85rem;
    border: 1px dashed #d6e4b4;
    border-radius: 10px;
    background: #fff;
}

.ttc-product-form--premium .ttc-product-condition-title {
    margin: 0 0 .5rem;
    color: #2b3f0e;
    font-weight: 700;
    font-size: .95rem;
}

/* Editor WYSIWYG premium */
.ttc-article-form--premium .wp-editor-wrap {
    width: 100%;
    border: 1px solid var(--ttc-premium-border);
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0);
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .035);
}

.ttc-article-form--premium .wp-editor-tools {
    padding: .45rem .6rem;
    border-bottom: 1px solid #dde7c2;
    background: linear-gradient(180deg, #f9fbf4 0%, #f1f6e5 100%);
}

.ttc-article-form--premium .quicktags-toolbar {
    border-bottom: 1px solid #dbe6bf;
}

/* Editor articolo: rimuove qualsiasi hover/focus rosso/viola */
.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .wp-switch-editor,
.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .switch-tmce,
.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .switch-html,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar input[type="button"],
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .button,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .ed_button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn .mce-open {
    background: #f5f8ec !important;
    background-image: none !important;
    border-color: #dbe6bf !important;
    color: #1f2b0d !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
}

.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .wp-switch-editor:hover,
.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .wp-switch-editor:focus,
.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .wp-switch-editor:focus-visible,
.ttc-article-form--premium .wp-editor-wrap .wp-editor-tabs .wp-switch-editor:active,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar input[type="button"]:hover,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar input[type="button"]:focus,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar input[type="button"]:focus-visible,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar input[type="button"]:active,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .button:hover,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .button:focus,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .button:focus-visible,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .button:active,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .ed_button:hover,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .ed_button:focus,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .ed_button:focus-visible,
.ttc-article-form--premium .wp-editor-wrap .quicktags-toolbar .ed_button:active,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:hover,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:focus,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:focus-visible,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:active,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:hover,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:focus,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:focus-visible,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:active,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn.mce-active,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn.mce-active:hover,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn.mce-active,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn.mce-active:hover,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:hover button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:focus button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn:active button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar .mce-btn.mce-active button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:hover button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:focus button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn:active button,
.ttc-article-form--premium .wp-editor-wrap .mce-toolbar-grp .mce-btn.mce-active button {
    background: #f5f8ec !important;
    background-image: none !important;
    border-color: #dbe6bf !important;
    color: #1f2b0d !important;
    box-shadow: none !important;
    text-shadow: none !important;
    outline: none !important;
}

.ttc-article-form--premium .wp-editor-wrap .mce-menu-item:hover,
.ttc-article-form--premium .wp-editor-wrap .mce-menu-item:focus,
.ttc-article-form--premium .wp-editor-wrap .mce-menu-item.mce-selected {
    background: #f5f8ec !important;
    color: #1f2b0d !important;
}

.ttc-article-form--premium .wp-editor-wrap .mce-ico {
    color: #1f2b0d !important;
}

.ttc-article-form--premium .wp-editor-wrap .mce-caret {
    border-top-color: #1f2b0d !important;
}

/* Media modal articolo: mostra solo upload da PC, no libreria WP */
body.ttc-article-media-upload-only .media-frame-router .media-menu-item[data-router="browse"],
body.ttc-article-media-upload-only .media-frame-router .media-menu-item[data-router="library"] {
    display: none !important;
}

.ttc-article-form--premium .wp-editor-container,
.ttc-article-form--premium .wp-editor-container textarea.wp-editor-area {
    border: 0;
}

.ttc-article-form--premium .wp-editor-container textarea.wp-editor-area {
    min-height: 300px;
    padding: .85rem;
}

/* Bottone submit: stesso stile del form itinerari */
.ttc-form-premium .ttc-btn,
.ttc-product-success-actions .ttc-btn,
.ttc-showcase__search .ttc-showcase__search-btn,
.ttc-article-form--premium .ttc-btn,
.ttc-gpx-form--premium .ttc-btn,
.ttc-struttura-form--premium .ttc-btn,
.ttc-um-profile-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .62rem 1.45rem !important;
    border-radius: var(--ttc-diagonal-radius, 14px 0 14px 0) !important;
    background: #8CA92F !important;
    border: 1px solid #8CA92F !important;
    color: #FFFFFF !important;
    font-family: 'Nunito', Arial, sans-serif !important;
    font-size: .92rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .04em;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none !important;
}

.ttc-form-premium .ttc-btn:hover,
.ttc-form-premium .ttc-btn:focus,
.ttc-product-success-actions .ttc-btn:hover,
.ttc-product-success-actions .ttc-btn:focus,
.ttc-showcase__search .ttc-showcase__search-btn:hover,
.ttc-showcase__search .ttc-showcase__search-btn:focus,
.ttc-article-form--premium .ttc-btn:hover,
.ttc-article-form--premium .ttc-btn:focus,
.ttc-gpx-form--premium .ttc-btn:hover,
.ttc-gpx-form--premium .ttc-btn:focus,
.ttc-struttura-form--premium .ttc-btn:hover,
.ttc-struttura-form--premium .ttc-btn:focus,
.ttc-um-profile-btn:hover,
.ttc-um-profile-btn:focus {
    background: #8CA92F !important;
    border-color: #8CA92F !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    transform: none !important;
}

.ttc-product-success-actions {
    margin: 0 0 0 auto;
}

.ttc-product-success-inline {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: .65rem 1rem;
    flex-wrap: wrap;
}

.ttc-product-success-inline .ttc-product-success-text {
    margin: 0;
    flex: 1 1 300px;
}

.ttc-product-success-inline .ttc-product-success-actions {
    margin: 0 0 0 auto;
    flex: 0 0 auto;
}

@media (max-width: 780px) {
    .ttc-form-premium,
    .ttc-article-form--premium,
    .ttc-gpx-form--premium,
    .ttc-struttura-form--premium {
        padding: 1rem .95rem;
    }
}

@media (max-width: 520px) {
    .ttc-form-premium .ttc-btn,
    .ttc-article-form--premium .ttc-btn,
    .ttc-gpx-form--premium .ttc-btn,
    .ttc-struttura-form--premium .ttc-btn {
        width: 100%;
    }
}

/* ============================================================
   Form preview — GPX map, cover image, gallery thumbnails
   ============================================================ */

/* GPX map preview */
.ttc-gpx-preview-map-wrap {
    margin-top: 14px;
}

.ttc-gpx-preview-label {
    font-size: .85rem;
    color: var(--ttc-premium-muted);
    margin-bottom: 6px;
}

.ttc-gpx-preview-map {
    height: 280px;
    width: 100%;
    border-radius: 8px;
    border: 1px solid var(--ttc-premium-border);
}

/* Cover image preview */
.ttc-cover-preview {
    margin-top: 10px;
}

.ttc-cover-preview-img {
    width: min(100%, 360px);
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 6px;
    border: 1px solid var(--ttc-premium-border);
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Gallery preview */
.ttc-gallery-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.ttc-gallery-preview-img {
    width: min(132px, 30vw);
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 6px;
    border: 1px solid var(--ttc-premium-border);
    display: block;
}

/* Gallery cropper modal (4:3 required) */
.ttc-cropper-overlay {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.72);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.ttc-cropper-modal {
    width: min(960px, 96vw);
    max-height: 92vh;
    overflow: auto;
    background: #fff;
    border-radius: 10px;
    padding: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.ttc-cropper-modal__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
}

.ttc-cropper-hint {
    margin: 0 0 10px;
    color: var(--ttc-premium-muted);
    font-size: .9rem;
}

.ttc-cropper-stage-wrap {
    border: 1px solid var(--ttc-premium-border);
    border-radius: 8px;
    background: #f3f4f6;
    padding: 10px;
}

.ttc-cropper-stage {
    position: relative;
    width: 100%;
    height: min(62vh, 560px);
    min-height: 320px;
    user-select: none;
}

.ttc-cropper-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.ttc-crop-rect {
    position: absolute;
    border: 2px solid #14b8a6;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.35);
    cursor: move;
    min-width: 120px;
}

.ttc-crop-rect__handle {
    position: absolute;
    right: -8px;
    bottom: -8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #14b8a6;
    border: 2px solid #fff;
    cursor: nwse-resize;
}

.ttc-cropper-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* Word counter */
.ttc-word-count {
    display: block;
    font-size: .78rem;
    color: var(--ttc-premium-muted);
    margin-top: 4px;
    text-align: right;
}

.ttc-word-count--over {
    color: #dc2626;
    font-weight: 600;
}

/* Field hint (e.g. gallery max) */
.ttc-field-hint {
    display: block;
    font-size: .78rem;
    color: var(--ttc-premium-muted);
    margin-top: 3px;
}

/* Submit notice */
.ttc-submit-notice {
    font-size: .85rem;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 0;
}
