/*
Theme Name: CardTuned Product
Theme URI: https://cardtuned.com/
Author: CardTuned
Description: CardTuned's connected editorial product theme with optional Instagram and credit-card database modules.
Version: 1.2.4
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: cardtuned
*/

/* WordPress / Gutenberg compatibility additions. Main visual CSS lives in assets/css/. */
.wp-block-image img, .ct-prose img { max-width: 100%; height: auto; }
.ct-prose .wp-block-image, .ct-prose figure { margin-top: var(--ct-space-32); }
.ct-prose .wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ct-prose .wp-block-table table { width: 100%; border-collapse: collapse; }
.ct-prose .wp-block-table th, .ct-prose .wp-block-table td { padding: 14px 16px; border: 1px solid var(--ct-border); text-align: left; }
.ct-prose .wp-block-table th { font-family: var(--ct-font-head); color: var(--ct-text-primary); background: var(--ct-surface-alt); }
.ct-prose blockquote { margin-top: var(--ct-space-32); padding: 18px 22px; border-left: 3px solid var(--ct-blue); background: var(--ct-blue-tint); color: var(--ct-text-body); }
.ct-prose a { color: var(--ct-blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.ct-prose a:hover { color: var(--ct-blue-hover); }
.ct-prose .alignwide { width: min(100%, var(--ct-reading-wide)); max-width: var(--ct-reading-wide); }
.ct-prose .alignfull { width: 100%; max-width: none; }
.ct-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-byline__avatar img { width: 40px; height: 40px; object-fit: cover; border-radius: 50%; display: block; }
.ct-newsletter__note.is-status { color: var(--ct-text-secondary); }

/* CardTuned Instagram home feed: editorial thumbnail-only presentation. */
.ct-instagram .sb_instagram_header,
.ct-instagram .sbi_follow_btn,
.ct-instagram .sbi_load_btn {
  display: none !important;
}
.ct-instagram #sb_instagram {
  padding-bottom: 0 !important;
}

/* Compact email signup inside the global footer. */
.ct-footer__newsletter { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--ct-divider); }
.ct-footer__newsletter-title { font-family: var(--ct-font-head); font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--ct-text-primary); }
.ct-footer__newsletter-desc { margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--ct-text-secondary); }
.ct-footer__newsletter-form { margin-top: 14px; }
.ct-footer__newsletter .ff-el-group { margin-bottom: 10px; }
.ct-footer__newsletter input[type="email"] { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--ct-border); border-radius: var(--ct-radius-md); background: var(--ct-surface); font-size: 14px; }
.ct-footer__newsletter button[type="submit"] { width: 100%; min-height: 42px; border-radius: var(--ct-radius-md); }
.ct-footer__newsletter .ff-el-form-check-label { font-size: 12.5px; line-height: 1.45; color: var(--ct-text-secondary); }
.ct-footer__newsletter-note { margin-top: 4px; font-size: 11.5px; line-height: 1.45; color: var(--ct-text-muted); }
.ct-footer__newsletter-note a { text-decoration: underline; text-underline-offset: 2px; }

/* Reader comments and moderated discussion form. */
.ct-comments-section { width: min(100%, var(--ct-reading-wide)); margin: var(--ct-space-64) auto 0; padding-top: var(--ct-space-32); border-top: 1px solid var(--ct-divider); }
.ct-comments-section #comments { width: min(100%, var(--ct-reading)); margin: 0 auto; }
.ct-comments-section #comments-title,
.ct-comments-section .comment-reply-title { font-family: var(--ct-font-head); font-weight: 800; font-size: clamp(22px, 3vw, 30px); line-height: 1.2; letter-spacing: -0.025em; color: var(--ct-text-primary); }
.ct-comments-section .comment-list,
.ct-comments-section .commentlist { margin: var(--ct-space-24) 0 0; padding: 0; list-style: none; }
.ct-comments-section .comment-list .children,
.ct-comments-section .commentlist .children { margin: var(--ct-space-16) 0 0 var(--ct-space-24); padding: 0; list-style: none; }
.ct-comments-section .comment-body { margin-top: var(--ct-space-16); padding: 20px; border: 1px solid var(--ct-border); border-radius: var(--ct-radius-lg); background: var(--ct-surface); }
.ct-comments-section .comment-author { display: flex; align-items: center; gap: 10px; font-family: var(--ct-font-head); font-weight: 700; color: var(--ct-text-primary); }
.ct-comments-section .comment-author .avatar { width: 36px; height: 36px; border-radius: 50%; }
.ct-comments-section .comment-meta { margin-top: 6px; font-size: 12.5px; color: var(--ct-text-muted); }
.ct-comments-section .comment-content { margin-top: 14px; color: var(--ct-text-body); }
.ct-comments-section .comment-content p { line-height: 1.65; }
.ct-comments-section .reply { margin-top: 12px; font-size: 13px; font-weight: 700; }
.ct-comments-section #respond { margin-top: var(--ct-space-40); padding: 24px; border: 1px solid var(--ct-blue-line); border-radius: var(--ct-radius-lg); background: var(--ct-blue-tint); }
.ct-comments-section .comment-notes { margin-top: 10px; font-size: 13px; line-height: 1.55; color: var(--ct-text-secondary); }
.ct-comments-section .comment-form { display: grid; gap: 14px; margin-top: 20px; }
.ct-comments-section .comment-form > p { margin: 0; }
.ct-comments-section .comment-form label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--ct-text-primary); }
.ct-comments-section .comment-form input[type="text"],
.ct-comments-section .comment-form input[type="email"],
.ct-comments-section .comment-form textarea { width: 100%; padding: 11px 12px; border: 1px solid var(--ct-border); border-radius: var(--ct-radius-md); background: var(--ct-surface); color: var(--ct-text-primary); font: inherit; }
.ct-comments-section .comment-form textarea { min-height: 150px; resize: vertical; }
.ct-comments-section .form-submit input[type="submit"] { min-height: 44px; padding: 0 20px; border: 1px solid var(--ct-blue); border-radius: var(--ct-radius-md); background: var(--ct-blue); color: #fff; font-family: var(--ct-font-head); font-weight: 700; cursor: pointer; }
.ct-comments-section .form-submit input[type="submit"]:hover { background: var(--ct-blue-hover); border-color: var(--ct-blue-hover); }
.ct-comments-section .comment-awaiting-moderation { display: block; margin-top: 10px; font-size: 13px; color: var(--ct-text-secondary); }
@media (max-width: 720px) {
  .ct-comments-section { margin-top: var(--ct-space-48); padding-top: var(--ct-space-24); }
  .ct-comments-section #respond { padding: 20px 16px; }
  .ct-comments-section .comment-list .children,
  .ct-comments-section .commentlist .children { margin-left: 12px; }
}
