.ttt-format-preference{clear:both;margin:10px 0 18px;font:400 15px/1.5 var(--ttt-sans,Jost,sans-serif)}
.ttt-format-preference label{display:inline-flex;align-items:center;gap:7px;font:inherit;cursor:pointer}
.ttt-format-preference input{margin:0;accent-color:#333}
.ttt-format-preference button{display:inline-block;margin:5px 0 5px 16px;padding:0;background:none!important;color:#555!important;border:0;border-bottom:1px solid #777;border-radius:0;box-shadow:none;font:inherit;text-transform:none;cursor:pointer}
.ttt-format-preference button[hidden]{display:none}
.ttt-format-preference p{font:400 14px/1.5 var(--ttt-sans,Jost,sans-serif)!important;margin:6px 0!important;color:#65635f}
.ttt-format-preference :focus-visible{outline:2px solid #555;outline-offset:3px}

.ttt-format-preference button.ttt-format-help{display:block;margin:0 0 12px;color:#222!important}
.ttt-format-dialog{position:fixed;inset:0;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid #b9b6b0;background:#faf9f6;color:#222;overflow:auto;font:400 17px/1.5 var(--ttt-sans,Jost,sans-serif);box-sizing:border-box}
.ttt-format-dialog::backdrop{background:rgba(0,0,0,.45)}
.ttt-format-dialog h2{font:600 29px/1.2 var(--ttt-sans,Jost,sans-serif);margin:0 30px 18px 0;letter-spacing:-.02em}
.ttt-format-dialog p{font:inherit;margin:0 0 18px}
.ttt-format-dialog>label{display:block;margin:16px 0 6px;font-weight:500}
.ttt-format-dialog select{display:block;width:100%;max-width:100%;font:inherit;color:#222;background:#fff;padding:10px;border:1px solid #aaa}
.ttt-format-dialog .ttt-format-close{position:absolute;top:12px;right:12px;width:36px;height:36px;padding:0;border:0;background:transparent;color:#222;font-size:28px;box-shadow:none;cursor:pointer}
.ttt-format-recommendation{border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:22px 0 16px;padding:16px 0}
.ttt-format-recommendation strong{display:block;font-weight:600}.ttt-format-recommendation p{margin:6px 0 0}
.ttt-format-dialog p.ttt-format-guide-note{font-size:14px;color:#65635f}
.ttt-format-dialog .ttt-format-guide-remember{font-size:15px;font-weight:400;margin-bottom:16px}
.ttt-format-dialog .ttt-format-apply{display:block;width:100%;padding:12px 18px;border:1px solid #222;background:#222;color:#fff;font:inherit;cursor:pointer;box-shadow:none;text-transform:none}
.ttt-format-dialog .ttt-format-apply:disabled{opacity:.45;cursor:default}
.ttt-format-dialog :focus-visible{outline:2px solid #555;outline-offset:3px}
@media(max-width:600px){.ttt-format-dialog{padding:24px}.ttt-format-dialog h2{font-size:25px}}

/* Keep catalogue purchase controls independent of theme button defaults. */
.ttt-compact-shop .ttt-shop-track { padding:15px 0; gap:18px; }
.ttt-compact-shop .ttt-shop-track h3 { font-size:21px; margin-bottom:3px; }
.ttt-compact-shop .ttt-shop-track .ttt-shop-track-purchase {
 display:grid; grid-template-columns:auto auto; align-items:center; column-gap:16px; row-gap:3px;
 font:400 15px/1.35 var(--ttt-sans,Jost,sans-serif); text-align:right;
}
.ttt-compact-shop .ttt-shop-track-purchase .ttt-shop-price { grid-column:1; grid-row:1; margin:0; font:500 17px/1.35 var(--ttt-sans,Jost,sans-serif); }
.ttt-compact-shop .ttt-track-format { grid-column:1; grid-row:2; display:block; margin:0; font:400 13px/1.35 var(--ttt-sans,Jost,sans-serif); color:#65635f; max-width:160px; }
.ttt-compact-shop .ttt-track-format[hidden] { display:none; }
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add {
 grid-column:2; grid-row:1; display:block; margin:0; padding:8px 13px; min-height:38px;
 border:1px solid #25743b!important; border-radius:0!important; background:#25743b!important; color:#fff!important;
 font:500 15px/1.35 var(--ttt-sans,Jost,sans-serif)!important; text-transform:none!important;
 letter-spacing:0!important; box-shadow:none!important; text-shadow:none!important; cursor:pointer;
}
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add:hover,
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add:active { background:#1c592d!important; color:#fff!important; }
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add:focus-visible { outline:2px solid #222; outline-offset:3px; }
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add:disabled { background:#626262!important; color:#fff!important; opacity:1; cursor:wait; }
.ttt-compact-shop .ttt-shop-track-purchase .ttt-shop-link { grid-column:2; grid-row:2; justify-self:end; padding:2px 0; font:400 14px/1.35 var(--ttt-sans,Jost,sans-serif); }
.ttt-compact-shop .ttt-track-cart-status { grid-column:1 / -1; grid-row:4; display:block; font:400 13px/1.35 var(--ttt-sans,Jost,sans-serif); margin:0; }
.ttt-compact-shop .ttt-track-cart-status:empty { display:none; }
.ttt-compact-shop .ttt-shop-track-purchase .added_to_cart { grid-column:2; grid-row:3; display:block; margin:0; font:400 14px/1.35 var(--ttt-sans,Jost,sans-serif); }
@media(max-width:600px) {
 .ttt-compact-shop .ttt-shop-track .ttt-shop-track-purchase { grid-column:1 / -1; grid-row:3; justify-content:space-between; text-align:left; gap:3px 12px; }
 .ttt-compact-shop .ttt-shop-track h3 { font-size:20px; }
 .ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add { min-height:44px; }
}

.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add.is-in-cart { background:#b32d2e!important; border-color:#b32d2e!important; color:#fff!important; }
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add.is-in-cart:hover,
.ttt-compact-shop .ttt-shop-track-purchase button.ttt-track-add.is-in-cart:active { background:#8c2324!important; border-color:#8c2324!important; }

.ttt-cart-format-dialog ul { margin:0 0 16px; padding-left:20px; font:inherit; }
.ttt-cart-format-dialog li { margin-bottom:8px; }
.ttt-cart-format-actions { display:grid; gap:10px; }
.ttt-cart-format-dialog .ttt-format-apply[hidden] { display:none!important; }
.ttt-cart-format-dialog button.ttt-cart-keep { background:transparent!important; color:#222!important; border:1px solid #555; padding:12px; font:inherit; text-transform:none; box-shadow:none; }

/* Album purchase and playlist controls share the catalogue UI typography. */
.ttt-compact-shop .ttt-album-main #album-purchase form.cart,
.ttt-compact-shop .ttt-album-main #album-purchase .price,
.ttt-compact-shop .ttt-album-main #album-purchase .ttt-shop-price {
 font:400 17px/1.45 var(--ttt-sans,Jost,sans-serif)!important;
}
.ttt-compact-shop .ttt-album-main #album-purchase .variations { border:0!important; margin:12px 0 16px!important; }
.ttt-compact-shop .ttt-album-main #album-purchase .variations tr { display:flex; align-items:center; gap:14px; }
.ttt-compact-shop .ttt-album-main #album-purchase .variations th,
.ttt-compact-shop .ttt-album-main #album-purchase .variations td { border:0!important; background:transparent!important; padding:0!important; font:400 16px/1.45 var(--ttt-sans,Jost,sans-serif)!important; }
.ttt-compact-shop .ttt-album-main #album-purchase .variations label { font:500 16px/1.45 var(--ttt-sans,Jost,sans-serif)!important; margin:0; }
.ttt-compact-shop .ttt-album-main #album-purchase .variations td { flex:1; min-width:0; }
.ttt-compact-shop .ttt-album-main #album-purchase select { width:auto; max-width:100%; min-height:42px; padding:8px 12px; background:#fff; color:#222; border:1px solid #b9b6b0; border-radius:0; font:400 16px/1.45 var(--ttt-sans,Jost,sans-serif)!important; }
.ttt-compact-shop .ttt-album-main #album-purchase .reset_variations { margin-left:12px; color:#65635f; font:400 14px/1.45 var(--ttt-sans,Jost,sans-serif)!important; text-decoration:underline; text-underline-offset:3px; }
.ttt-compact-shop .ttt-album-main #album-purchase .woocommerce-variation-price { margin:8px 0 12px; }
.ttt-compact-shop .ttt-album-main #album-purchase .price del { color:#65635f; margin-right:6px; }
.ttt-compact-shop .ttt-album-main #album-purchase .price ins { text-decoration:none; font-weight:500; }
.ttt-compact-shop .ttt-album-main #album-purchase button.single_add_to_cart_button {
 background:#25743b!important; border:1px solid #25743b!important; color:#fff!important;
 border-radius:0!important; box-shadow:none!important; text-shadow:none!important;
 font:500 15px/1.35 var(--ttt-sans,Jost,sans-serif)!important; text-transform:none!important; letter-spacing:0!important;
 margin:0!important; padding:10px 18px!important; min-height:42px; float:none!important;
}
.ttt-compact-shop .ttt-album-main #album-purchase button.single_add_to_cart_button:hover { background:#1c592d!important; border-color:#1c592d!important; }
.ttt-compact-shop .ttt-album-main #album-purchase button.single_add_to_cart_button.disabled,
.ttt-compact-shop .ttt-album-main #album-purchase button.single_add_to_cart_button:disabled { background:#626262!important; border-color:#626262!important; opacity:1!important; color:#fff!important; }
.ttt-compact-shop .ttt-album-main button[data-play-all] {
 font:500 15px/1.35 var(--ttt-sans,Jost,sans-serif)!important; text-transform:none!important; letter-spacing:0!important;
 background:transparent!important; color:#222!important; border:1px solid #777!important; border-radius:0!important;
 padding:10px 16px!important; min-height:42px; box-shadow:none!important; text-shadow:none!important;
}
.ttt-compact-shop .ttt-album-main button[data-play-all]:hover { background:#eeece7!important; }
.ttt-compact-shop .ttt-album-main #album-purchase button:focus-visible,
.ttt-compact-shop .ttt-album-main button[data-play-all]:focus-visible { outline:2px solid #222; outline-offset:3px; }
.ttt-format-preference button { text-shadow:none!important; letter-spacing:0!important; }
@media(max-width:600px) {
 .ttt-compact-shop .ttt-album-main #album-purchase .variations tr { align-items:flex-start; }
 .ttt-compact-shop .ttt-album-main #album-purchase .variations th { padding-top:9px!important; }
 .ttt-compact-shop .ttt-album-main #album-purchase .reset_variations { display:inline-block; margin:6px 0 0; }
}
