/* ============================================================
   SIM2456 Shortcodes — Global Styles v1.0.0
   ============================================================ */

/* ─── Variables ──────────────────────────────────────────── */
:root {
    --sim-gold:      #c8a84b;
    --sim-gold-lt:   #f0d080;
    --sim-dark:      #1a1a2e;
    --sim-dark2:     #16213e;
    --sim-dark3:     #0f3460;
    --sim-line-grn:  #06c755;
    --sim-radius:    12px;
    --sim-shadow:    0 8px 32px rgba(200,168,75,.18);
}

/* ─── Search Form ─────────────────────────────────────────── */
.sim-search-wrap {
    background: linear-gradient(135deg, var(--sim-dark) 0%, var(--sim-dark2) 50%, var(--sim-dark3) 100%);
    border: 2px solid var(--sim-gold);
    border-radius: var(--sim-radius);
    padding: 32px 24px;
    text-align: center;
    max-width: 600px;
    margin: 0 auto 24px;
    box-shadow: var(--sim-shadow);
}
.sim-search-title {
    color: var(--sim-gold-lt) !important;
    font-size: 1.3rem !important;
    margin: 0 0 6px !important;
    letter-spacing: 1px;
}
.sim-search-sub {
    color: #aaa;
    font-size: .9rem;
    margin: 0 0 20px !important;
}
.sim-search-form {
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.sim-search-input {
    flex: 1;
    min-width: 0;
    height: 52px;
    padding: 0 18px;
    border-radius: 10px;
    border: 2px solid var(--sim-gold);
    background: rgba(255,255,255,.06);
    color: #fff;
    font-size: 1rem;
    outline: none;
    box-sizing: border-box;
    transition: border-color .2s;
}
.sim-search-input::placeholder { color: #777; }
.sim-search-input:focus        { border-color: var(--sim-gold-lt); }
.sim-search-btn {
    height: 52px;
    padding: 0 24px;
    background: linear-gradient(135deg, var(--sim-gold), var(--sim-gold-lt));
    color: var(--sim-dark);
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    box-sizing: border-box;
    flex-shrink: 0;
    transition: opacity .2s, transform .1s;
}
.sim-search-btn:hover { opacity: .85; transform: translateY(-1px); }

/* shake animation สำหรับ empty search */
@keyframes simShake {
    0%,100%{ transform:translateX(0); }
    20%    { transform:translateX(-6px); }
    40%    { transform:translateX(6px); }
    60%    { transform:translateX(-4px); }
    80%    { transform:translateX(4px); }
}
.sim-shake { animation: simShake .4s ease; border-color: #e55 !important; }

/* ─── LINE Button ─────────────────────────────────────────── */
.sim-line-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: var(--sim-radius);
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity .2s, transform .1s;
    cursor: pointer;
}
.sim-line-btn:hover { opacity: .85; transform: translateY(-1px); }

/* style: gold */
.sim-line-btn--gold {
    background: linear-gradient(135deg, var(--sim-gold), var(--sim-gold-lt));
    color: var(--sim-dark) !important;
}
/* style: green */
.sim-line-btn--green {
    background: var(--sim-line-grn);
    color: #fff !important;
}

/* sizes */
.sim-line-btn--sm { padding: 8px 16px; font-size: .85rem; }
.sim-line-btn--md { padding: 12px 22px; font-size: 1rem; }
.sim-line-btn--lg { padding: 16px 30px; font-size: 1.15rem; }

/* ─── Category Grid ───────────────────────────────────────── */
.sim-cat-grid {
    display: grid;
    gap: 16px;
    margin: 0 auto 24px;
}
.sim-cat-grid--cols-1 { grid-template-columns: 1fr; }
.sim-cat-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.sim-cat-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.sim-cat-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.sim-cat-grid--cols-5 { grid-template-columns: repeat(5, 1fr); }
.sim-cat-grid--cols-6 { grid-template-columns: repeat(6, 1fr); }

@media (max-width: 768px) {
    .sim-cat-grid--cols-3,
    .sim-cat-grid--cols-4,
    .sim-cat-grid--cols-5,
    .sim-cat-grid--cols-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .sim-cat-grid { grid-template-columns: 1fr !important; }
}

.sim-cat-card {
    background: var(--sim-dark2);
    border: 1px solid rgba(200,168,75,.3);
    border-radius: var(--sim-radius);
    overflow: hidden;
    text-decoration: none !important;
    display: block;
    transition: transform .2s, box-shadow .2s;
}
.sim-cat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(200,168,75,.25);
}
.sim-cat-card__img {
    width: 100%;
    padding-top: 56%;
    background-size: cover;
    background-position: center;
    background-color: var(--sim-dark3);
}
.sim-cat-card__body {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.sim-cat-card__name {
    color: var(--sim-gold-lt);
    font-size: .95rem;
    font-weight: 700;
}
.sim-cat-card__count {
    color: #999;
    font-size: .8rem;
}

/* ─── Contact Bar ─────────────────────────────────────────── */
.sim-contact-bar {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 24px;
    max-width: 500px;
}
.sim-contact-bar__btn {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 14px 20px;
    border-radius: var(--sim-radius);
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none !important;
    transition: opacity .2s, transform .1s;
}
.sim-contact-bar__btn:hover { opacity: .85; transform: translateY(-1px); }
.sim-contact-bar__btn small {
    font-size: .78rem;
    font-weight: 400;
    opacity: .8;
}
.sim-contact-bar__btn--phone {
    background: linear-gradient(135deg, var(--sim-gold), var(--sim-gold-lt));
    color: var(--sim-dark) !important;
}
.sim-contact-bar__btn--line {
    background: var(--sim-line-grn);
    color: #fff !important;
}
