/* ============================================================
   Shortcode Styles — assets/css/shortcodes.css
   Imported in style.css or included in <head>
   ============================================================ */

/* ── [go] Affiliate Button ──────────────────────────────────── */
.sc-btn-go-wrap {
    margin: 18px 0;
    text-align: center;
}

.sc-btn-go {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s, background .2s;
    cursor: pointer;
}

.sc-btn-go:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    text-decoration: none;
}

/* solid (default) */
.sc-btn-go--solid {
    background: linear-gradient(135deg, #ff5200, #ff3d00);
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(255, 61, 0, .35);
}
.sc-btn-go--solid:hover { background: linear-gradient(135deg, #e84800, #d83000); }

/* outline */
.sc-btn-go--outline {
    background: transparent;
    color: #ff3d00 !important;
    border: 2px solid #ff3d00;
}
.sc-btn-go--outline:hover { background: #fff4f0; }

/* subtle */
.sc-btn-go--subtle {
    background: #fff4f0;
    color: #c73500 !important;
    border: 1px solid #ffd5c5;
}
.sc-btn-go--subtle:hover { background: #ffe5d5; }

/* ── [image] ─────────────────────────────────────────────────── */
.sc-image-wrap {
    margin: 20px 0;
    text-align: center;
}

.sc-image {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
}

.sc-image-caption {
    margin-top: 8px;
    font-size: .85rem;
    color: #6b7280;
    font-style: italic;
    text-align: center;
}

/* ── [table] ─────────────────────────────────────────────────── */
.sc-table-wrap {
    margin: 20px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.sc-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92rem;
    min-width: 360px;
}

.sc-table th {
    background: #f8fafc;
    padding: 11px 14px;
    text-align: left;
    font-weight: 700;
    border-bottom: 2px solid #e5e7eb;
    color: #374151;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .3px;
    white-space: nowrap;
}

.sc-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #f0f0f0;
    color: #374151;
    vertical-align: top;
}

.sc-table tr:last-child td { border-bottom: none; }

.sc-table tbody tr:hover td { background: #f9fafb; }

/* ── [box] ───────────────────────────────────────────────────── */
.sc-box {
    margin: 20px 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid transparent;
}

.sc-box-header {
    padding: 10px 16px;
    font-weight: 700;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sc-box-body {
    padding: 14px 16px;
    font-size: .92rem;
    line-height: 1.7;
}

.sc-box-body p:last-child,
.sc-box-body ul:last-child { margin-bottom: 0; }

/* info */
.sc-box--info   { background: #eff6ff; border-color: #bfdbfe; }
.sc-box--info .sc-box-header { background: #dbeafe; color: #1e40af; }

/* success */
.sc-box--success { background: #f0fdf4; border-color: #bbf7d0; }
.sc-box--success .sc-box-header { background: #dcfce7; color: #166534; }

/* warning */
.sc-box--warning { background: #fffbeb; border-color: #fde68a; }
.sc-box--warning .sc-box-header { background: #fef3c7; color: #92400e; }

/* danger */
.sc-box--danger  { background: #fff1f2; border-color: #fecdd3; }
.sc-box--danger .sc-box-header  { background: #ffe4e6; color: #9f1239; }

/* tip */
.sc-box--tip     { background: #f5f3ff; border-color: #ddd6fe; }
.sc-box--tip .sc-box-header     { background: #ede9fe; color: #5b21b6; }

/* ── [divider] ───────────────────────────────────────────────── */
.sc-divider {
    margin: 28px auto;
    text-align: center;
}

.sc-divider--line {
    border: none;
    border-top: 2px solid #e5e7eb;
    max-width: 100%;
}

.sc-divider--dots span,
.sc-divider--stars span {
    display: inline-block;
    margin: 0 6px;
    color: #9ca3af;
    font-size: 1.1rem;
}

/* ── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .sc-btn-go { padding: 12px 20px; font-size: .95rem; }
    .sc-table th, .sc-table td { padding: 8px 10px; }
}

/* ═══════════════════════════════════════════════════════════════
   NEW SHORTCODES (rating, youtube, coupon, pros-cons, badge)
   ═══════════════════════════════════════════════════════════════ */

/* ── [rating] ────────────────────────────────────────────────── */
.sc-rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    vertical-align: middle;
}
.sc-rating-label {
    font-weight: 600;
    color: #374151;
    font-size: .9rem;
}
.sc-rating-stars {
    display: inline-flex;
    gap: 2px;
    line-height: 1;
}
.sc-rating-stars .fa-star,
.sc-rating-stars .fa-star-half-alt { color: #f59e0b; }
.sc-rating-stars .far.fa-star      { color: #d1d5db; }
.sc-rating-score {
    font-weight: 700;
    color: #374151;
}
.sc-rating-max { color: #9ca3af; font-weight: 400; }

/* sizes */
.sc-rating--sm .sc-rating-stars { font-size: .8rem; }
.sc-rating--sm .sc-rating-score { font-size: .82rem; }
.sc-rating--md .sc-rating-stars { font-size: 1rem; }
.sc-rating--md .sc-rating-score { font-size: .95rem; }
.sc-rating--lg .sc-rating-stars { font-size: 1.3rem; }
.sc-rating--lg .sc-rating-score { font-size: 1.1rem; font-weight: 800; }

/* ── [youtube] ───────────────────────────────────────────────── */
.sc-youtube-wrap {
    margin: 20px 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
}
.sc-youtube-facade {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    background: #000 center/cover no-repeat;
    cursor: pointer;
}
.sc-youtube-facade::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.25);
    transition: background .2s;
}
.sc-youtube-facade:hover::after { background: rgba(0,0,0,.15); }
.sc-youtube-play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 68px; height: 68px;
    border-radius: 50%;
    background: rgba(255,0,0,.85);
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: transform .2s, background .2s;
}
.sc-youtube-play:hover { background: #ff0000; transform: translate(-50%,-50%) scale(1.08); }
.sc-youtube-play .fa-play { margin-left: 4px; }
.sc-youtube-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    border: none;
}

/* ── [coupon] ────────────────────────────────────────────────── */
/* ── [coupon] ────────────────────────────────────────────────── */
.sc-coupon {
    margin: 20px 0;
    border-radius: 12px;
    border: 1.5px solid #ffe0d0;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(255,82,0,.08);
}
.sc-coupon-left { display: none; }   /* removed — clean card layout */
.sc-coupon-body {
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sc-coupon-store {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #ff5200;
    letter-spacing: .6px;
}
.sc-coupon-desc {
    font-size: .9rem;
    color: #374151;
    margin: 0;
    font-weight: 500;
}
.sc-coupon-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.sc-coupon-code {
    font-family: 'Courier New', monospace;
    font-size: 1.15rem;
    font-weight: 800;
    color: #1f2937;
    background: #fff8f5;
    border: 2px dashed #ffb89a;
    border-radius: 7px;
    padding: 6px 16px;
    letter-spacing: 3px;
    user-select: all;
    cursor: pointer;
    flex-shrink: 0;
}
.sc-coupon-copy {
    padding: 7px 16px;
    background: #ff5200;
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex; align-items: center; gap: 5px;
    transition: background .15s;
    white-space: nowrap;
}
.sc-coupon-copy:hover { background: #e84800; }
.sc-coupon-copy.copied { background: #10b981; }
/* Masked dots */
.sc-coupon-mask {
    color: #ffb89a;
    letter-spacing: 4px;
    font-size: .95rem;
    vertical-align: middle;
}
/* "Đến cửa hàng" outline button */
.sc-coupon-goto {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 6px 14px;
    background: transparent; color: #ff5200 !important;
    border: 1.5px solid #ffb89a; border-radius: 7px;
    font-size: .82rem; font-weight: 700; text-decoration: none;
    transition: border-color .15s, background .15s;
    white-space: nowrap;
}
.sc-coupon-goto:hover { border-color: #ff5200; background: #fff8f5; text-decoration: none; }
/* Expiry */
.sc-coupon-exp {
    font-size: .76rem;
    color: #9ca3af;
    display: inline-flex; align-items: center; gap: 4px;
}
/* Link/deal mode */
.sc-coupon--link { border-color: #e5e7eb; box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.sc-coupon-deal-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 10px 24px;
    background: linear-gradient(135deg, #ff5200, #ff3d00);
    color: #fff !important;
    border-radius: 8px; text-decoration: none;
    font-size: .95rem; font-weight: 700;
    box-shadow: 0 3px 10px rgba(255,61,0,.25);
    transition: transform .15s, box-shadow .15s;
}
.sc-coupon-deal-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 16px rgba(255,61,0,.35);
    text-decoration: none;
}

/* ── [pros-cons] ─────────────────────────────────────────────── */
.sc-pros-cons {
    margin: 22px 0;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}
.sc-pc-title {
    padding: 10px 16px;
    background: #f8fafc;
    font-weight: 700;
    color: #1f2937;
    border-bottom: 1px solid #e5e7eb;
    font-size: .9rem;
}
.sc-pc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
@media (max-width: 600px) { .sc-pc-grid { grid-template-columns: 1fr; } }
.sc-pc-col { padding: 14px 16px; }
.sc-pc-pros { border-right: 1px solid #e5e7eb; background: #f0fdf4; }
.sc-pc-cons { background: #fff1f2; }
@media (max-width: 600px) { .sc-pc-pros { border-right: none; border-bottom: 1px solid #e5e7eb; } }
.sc-pc-head {
    font-size: .82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin: 0 0 10px 0;
    display: flex; align-items: center; gap: 6px;
}
.sc-pc-head--pros { color: #16a34a; }
.sc-pc-head--cons { color: #dc2626; }
.sc-pc-col ul {
    list-style: none;
    margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 7px;
}
.sc-pc-col ul li {
    font-size: .9rem;
    color: #374151;
    display: flex; align-items: flex-start; gap: 8px;
    line-height: 1.5;
}
.sc-pc-pros li .fa-check { color: #16a34a; margin-top: 2px; flex-shrink: 0; }
.sc-pc-cons li .fa-times  { color: #dc2626; margin-top: 2px; flex-shrink: 0; }

/* ── [badge] ─────────────────────────────────────────────────── */
.sc-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    vertical-align: middle;
    line-height: 1.6;
}
.sc-badge--default { background: #e5e7eb; color: #374151; }
.sc-badge--primary { background: #ff5200; color: #fff; }
.sc-badge--success { background: #dcfce7; color: #166534; }
.sc-badge--warning { background: #fef3c7; color: #92400e; }
.sc-badge--danger  { background: #ffe4e6; color: #9f1239; }
.sc-badge--info    { background: #dbeafe; color: #1e40af; }

/* ═══════════════════════════════════════════════════════════════
   SHORTCODES v2 (pros, cons, alert→box alias, info, product, deal)
   ═══════════════════════════════════════════════════════════════ */

/* ── [pros] / [cons] ─────────────────────────────────────────── */
.sc-list {
    margin: 16px 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
}
.sc-list-head {
    padding: 8px 14px;
    font-size: .85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.sc-list--pros .sc-list-head { background: #dcfce7; color: #16a34a; }
.sc-list--cons .sc-list-head { background: #ffe4e6; color: #dc2626; }
.sc-list--pros { background: #f0fdf4; }
.sc-list--cons { background: #fff1f2; }
.sc-list ul { list-style: none; margin: 0; padding: 10px 14px 12px; display: flex; flex-direction: column; gap: 6px; }
.sc-list ul li { font-size: .9rem; color: #374151; display: flex; align-items: flex-start; gap: 8px; line-height: 1.5; }
.sc-list--pros li .fa-check { color: #16a34a; margin-top: 2px; flex-shrink: 0; }
.sc-list--cons li .fa-times  { color: #dc2626; margin-top: 2px; flex-shrink: 0; }

/* ── [info] key:value table ──────────────────────────────────── */
.sc-info-wrap {
    margin: 20px 0;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}
.sc-info-title {
    padding: 8px 14px;
    background: #f8fafc;
    font-weight: 700;
    font-size: .85rem;
    color: #374151;
    border-bottom: 1px solid #e5e7eb;
    display: flex; align-items: center; gap: 6px;
}
.sc-info-table {
    width: 100%;
    border-collapse: collapse;
}
.sc-info-table tr:not(:last-child) td { border-bottom: 1px solid #f0f0f0; }
.sc-info-key {
    padding: 9px 14px;
    font-weight: 600;
    color: #6b7280;
    font-size: .85rem;
    white-space: nowrap;
    width: 38%;
    background: #fafafa;
}
.sc-info-val {
    padding: 9px 14px;
    color: #1f2937;
    font-size: .9rem;
}

/* ── [product] card ──────────────────────────────────────────── */
.sc-product-card {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin: 20px 0;
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.sc-product-img { flex-shrink: 0; width: 120px; }
.sc-product-img img { width: 100%; height: 100px; object-fit: cover; border-radius: 6px; display: block; }
.sc-product-body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.sc-product-name {
    font-size: 1rem; font-weight: 700; color: #1f2937; text-decoration: none; line-height: 1.4;
}
.sc-product-name:hover { color: #ff5200; }
.sc-product-rating { display: flex; align-items: center; gap: 6px; }
.sc-product-stars .fa-star, .sc-product-stars .fa-star-half-alt { color: #f59e0b; font-size: .85rem; }
.sc-product-stars .far.fa-star { color: #d1d5db; font-size: .85rem; }
.sc-product-score { font-size: .82rem; font-weight: 700; color: #374151; }
.sc-product-price { font-size: 1.05rem; font-weight: 800; color: #ff5200; }
.sc-product-btn {
    align-self: flex-start;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 18px; border-radius: 7px; font-size: .88rem; font-weight: 700;
    background: linear-gradient(135deg, #ff5200, #ff3d00);
    color: #fff !important; text-decoration: none;
    transition: transform .15s, box-shadow .15s;
    box-shadow: 0 2px 8px rgba(255,61,0,.3);
}
.sc-product-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(255,61,0,.4); }
@media (max-width: 500px) {
    .sc-product-card { flex-direction: column; }
    .sc-product-img { width: 100%; } .sc-product-img img { height: 160px; }
}

/* ── [deal] coupon from DB ───────────────────────────────────── */
.sc-deal {
    display: flex;
    align-items: stretch;
    margin: 20px 0;
    border: 2px dashed #3b82f6;
    border-radius: 10px;
    overflow: hidden;
    background: #eff6ff;
}
.sc-deal-left {
    background: #3b82f6;
    display: flex; align-items: center; justify-content: center;
    padding: 0 18px; min-width: 58px;
    color: #fff; font-size: 1.4rem;
}
.sc-deal-body { flex: 1; padding: 14px 16px; display: flex; flex-direction: column; gap: 5px; }
.sc-deal-store { font-size: .78rem; font-weight: 700; text-transform: uppercase; color: #3b82f6; letter-spacing: .5px; display: flex; align-items: center; gap: 6px; }
.sc-deal-badge { padding: 1px 7px; border-radius: 3px; color: #fff; font-size: .7rem; font-weight: 700; }
.sc-deal-title { font-size: .95rem; font-weight: 700; color: #1f2937; }
.sc-deal-discount { font-size: 1rem; font-weight: 800; color: #3b82f6; }
.sc-deal-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sc-deal-code {
    font-family: 'Courier New', monospace;
    font-size: 1.1rem; font-weight: 800;
    color: #1f2937; background: #fff;
    border: 2px dashed #93c5fd; border-radius: 6px;
    padding: 4px 14px; letter-spacing: 2px;
    user-select: all; cursor: pointer;
}
.sc-deal-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sc-deal-exp { font-size: .78rem; color: #6b7280; display: inline-flex; align-items: center; gap: 4px; }
.sc-deal-min { font-size: .78rem; color: #6b7280; }
.sc-deal-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 18px; background: #3b82f6; color: #fff !important;
    border-radius: 7px; text-decoration: none; font-size: .88rem; font-weight: 700;
    transition: background .15s;
}
.sc-deal-btn:hover { background: #2563eb; }
