/* TPMT Footer Blocks — Admin + Frontend Styles */

/* ================================================================
   Admin — widget builder rows
   ================================================================ */

.tnb-fb-widgets-list {
 display: flex;
 flex-direction: column;
 gap: 8px;
 margin-bottom: 2px;
}

.tnb-fb-widget {
 background: #fafafa;
 border: 1px solid #e2e2e2;
 border-left: 3px solid #e2e2e2;
 border-radius: 6px;
 padding: 12px;
 transition: border-left-color .15s;
}
.tnb-fb-widget:focus-within {
 border-left-color: #e63946;
 background: #fff;
}

.tnb-fb-widget-top {
 display: flex;
 align-items: center;
 gap: 8px;
 margin-bottom: 10px;
}
.tnb-fb-widget-heading {
 flex: 1;
 padding: 5px 9px;
 border: 1px solid #d0d0d0;
 border-radius: 4px;
 font-size: .82rem;
 background: #fafafa;
 color: #1e1e1e;
}
.tnb-fb-widget-heading:focus {
 outline: none;
 border-color: #e63946;
 background: #fff;
}

.tnb-fb-widget-badge {
 flex-shrink: 0;
 font-size: .65rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .07em;
 padding: 2px 7px;
 border-radius: 3px;
 white-space: nowrap;
 background: #f0f0f0;
 color: #555;
}
.tnb-fb-widget-badge--nav         { background: #fff3f3; color: #c0202c; }
.tnb-fb-widget-badge--recent_posts { background: #f0f4ff; color: #2a5dc8; }
.tnb-fb-widget-badge--shortcode   { background: #f5f0ff; color: #6b3fa0; }
.tnb-fb-widget-badge--categories  { background: #f0fff4; color: #1a7a3c; }

.tnb-fb-widget-fields {
 display: flex;
 flex-direction: column;
 gap: 8px;
}
.tnb-fb-field {
 width: 100%;
 box-sizing: border-box;
 padding: 7px 10px;
 border: 1px solid #d0d0d0;
 border-radius: 4px;
 font-size: .82rem;
 color: #1e1e1e;
 background: #fafafa;
 font-family: inherit;
}
.tnb-fb-field:focus {
 outline: none;
 border-color: #999;
 background: #fff;
}
textarea.tnb-fb-field {
 resize: vertical;
 min-height: 80px;
 font-family: monospace;
 font-size: .8rem;
}
select[multiple].tnb-fb-field {
 height: auto;
 min-height: 110px;
 padding: 4px 6px;
}
.tnb-fb-label {
 display: flex;
 flex-direction: column;
 font-size: .75rem;
 font-weight: 600;
 color: #555;
 gap: 4px;
}
.tnb-fb-row2 {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 10px;
}
.tnb-fb-hint {
 font-size: .74rem;
 color: #888;
 margin: 0;
}
.tnb-fb-hint a { color: #e63946; text-decoration: underline; }

.tnb-fb-add-row {
 display: flex;
 gap: 8px;
 align-items: center;
 margin: 8px 0 0;
}
.tnb-fb-add-row select {
 flex: 1;
 padding: 6px 10px;
 border: 1px solid #d0d0d0;
 border-radius: 4px;
 font-size: .82rem;
 background: #fafafa;
 color: #1e1e1e;
}

/* Saved card pills */
.tnb-fb-type-pills {
 display: flex;
 flex-wrap: wrap;
 gap: 5px;
 margin: 6px 0 2px;
}
.tnb-fb-type-pill {
 display: inline-block;
 font-size: .68rem;
 font-weight: 600;
 padding: 2px 8px;
 border-radius: 3px;
 background: #f0f0f0;
 color: #555;
}
.tnb-fb-type-pill--nav          { background: #fff3f3; color: #c0202c; }
.tnb-fb-type-pill--recent_posts { background: #f0f4ff; color: #2a5dc8; }
.tnb-fb-type-pill--shortcode    { background: #f5f0ff; color: #6b3fa0; }
.tnb-fb-type-pill--categories   { background: #f0fff4; color: #1a7a3c; }

/* ================================================================
   Frontend — [tpmt_footer_block] output
   ================================================================ */

.tnb-fb-wrap {
 display: flex;
 flex-direction: column;
 gap: 16px;
}

/* Each widget inside the block */
.tnb-fb-item {}
.tnb-fb-item-heading {
 font-size: .78rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: .08em;
 margin-bottom: 12px;
 padding-bottom: 8px;
 border-bottom: 2px solid currentColor;
 opacity: .9;
}

/* Text widget */
.tnb-fb-text-body {
 font-size: .85rem;
 line-height: 1.7;
 opacity: .75;
}
.tnb-fb-text-body p { margin-bottom: .6em; }
.tnb-fb-text-body a { opacity: .85; transition: opacity .15s; }
.tnb-fb-text-body a:hover { opacity: 1; }

/* Nav widget — outputs a <ul> */
.tnb-fb-nav ul {
 list-style: none;
 margin: 0;
 padding: 0;
 display: flex;
 flex-direction: column;
 gap: 6px;
}

/* Shared link styles for nav and categories widget types */
.tnb-fb-nav ul li a,
.tnb-fb-cat-list li a {
 font-size: .83rem !important;
 color: inherit !important;
 opacity: .65 !important;
 transition: opacity .15s, padding-left .15s !important;
 display: block;
 text-decoration: none;
}
.tnb-fb-nav ul li a:hover,
.tnb-fb-cat-list li a:hover {
 opacity: 1 !important;
 padding-left: 4px;
}

/* Recent posts widget */
.tnb-fb-posts {
 display: flex;
 flex-direction: column;
 gap: 10px;
}
.tnb-fb-post-item {
 display: flex;
 gap: 10px;
 align-items: flex-start;
}
.tnb-fb-post-thumb {
 flex-shrink: 0;
 width: 54px;
 height: 40px;
 border-radius: 3px;
 overflow: hidden;
 background: rgba(255,255,255,.08);
}
.tnb-fb-post-thumb img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
}
.tnb-fb-post-info {}
.tnb-fb-post-title {
 font-size: .8rem;
 font-weight: 700;
 line-height: 1.3;
 opacity: .85;
 display: block;
 transition: opacity .15s;
}
.tnb-fb-post-title:hover { opacity: 1; }
.tnb-fb-post-date {
 font-size: .68rem;
 opacity: .45;
 margin-top: 3px;
 display: block;
}

/* Shortcode widget */
.tnb-fb-shortcode {}

/* Categories widget */
.tnb-fb-cat-list {
 list-style: none;
 margin: 0;
 padding: 0;
 display: flex;
 flex-direction: column;
 gap: 6px;
}
/* Link styles are shared with .tnb-fb-nav ul li a above */
