body {
    background: #000;
    color: #fff;
    margin: 0;
    font-family: Arial, sans-serif;
}

/* Navigation / Footer hidden */
nav,
.main-navigation {
    display: none !important;
}

footer,
.site-footer {
    display: none !important;
}

/* ページタイトルは非表示（必要なら残してもOK） */
.wp-block-post-title,
.entry-title,
.page-title {
    display: none !important;
}

/* Main container */
.ticket-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px 20px;
    box-sizing: border-box;
}

.section-title {
    text-align: left;
    margin: 0 0 5px 0;
}

.ticket-description {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: #ccc;
}

.no-ticket {
    text-align: left;
    color: #ccc;
}

/* Ticket cards */
.ticket-list {
    display: grid;
    gap: 15px;
}

.ticket-card {
    border: 1px solid #333;
    background: #111;
    padding: 16px;
    border-radius: 10px;
}

.ticket-name {
    margin: 0 0 8px 0;
    font-size: 20px;
}

.ticket-date,
.ticket-price {
    margin: 6px 0;
    color: #eee;
}

.ticket-price {
    font-weight: bold;
}

/* Buy button */
.btn-buy {
    display: block;
    margin-top: 12px;
    padding: 12px;
    background: #c40000;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
}

.btn-buy:hover {
    background: #e00000;
}

.sold-out {
    margin-top: 12px;
    color: #ff5555;
    font-weight: bold;
}

.total-amount-box {
    margin: 16px 0;
    padding: 14px;
    background: #111;
    border: 1px solid #333;
    border-radius: 8px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.ticket-info-box {
    margin: 0 0 18px 0;
    padding: 14px;
    background: #111;
    border: 1px solid #333;
    border-radius: 8px;
    color: #fff;
}

.ticket-info-box p {
    margin: 6px 0;
}

input:disabled {
    background: #333;
    color: #888;
}

.small-checkbox-label {
    font-size: 12px;
}

select {
    padding: 8px;
    border-radius: 5px;
    background: #111;
    color: #fff;
    border: 1px solid #333;
}

.error-message {
    display: block;
    color: #ff5555;
    font-size: 12px;
    margin-top: 4px;
}

.input-error {
    border: 1px solid #ff5555;
}

/* Form fields */
.ticket-container input[type="text"],
.ticket-container input[type="email"],
.ticket-container select {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;   /* 高さ調整 */
    font-size: 16px;
}

.ticket-description {
    margin-bottom: 15px;
    color: #ccc;
    font-size: 14px;
}