/**
 * KURO Public Styles - Enhanced Version
 * Version: 0.4
 * 
 * 補助金審査向け改善版
 */

/* ========================================
   商品一覧ページの価格・容量表示
   ======================================== */

/* 価格と容量のラッパー */
.kuro-product-price-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px; /* 適度な間隔を確保 */
    width: 100%;
    margin-top: 10px;
    padding: 10px 30px 0 30px; /* 左右の余白を30pxに増加 */
    border-top: 2px solid #e0e0e0; /* 商品名との区切り線を追加 */
    flex-wrap: wrap; /* 折り返しを許可 */
}

/* PC半画面では余白を減らす */
@media (min-width: 381px) and (max-width: 1200px) {
    .kuro-product-price-wrapper {
        padding: 10px 15px 0 15px; /* 左右余白を15pxに統一 */
        flex-wrap: nowrap; /* 1行維持を強制 */
    }
}

/* 狭い画面では2段表示 */
@media (max-width: 380px) {
    .kuro-product-price-wrapper {
        padding: 10px 15px; /* モバイルでは余白を減らす */
    }
    
    /* 容量タグを左寄せ */
    .kuro-capacity-tag {
        flex: 0 0 auto;
        margin-bottom: 8px;
    }
    
    /* ログインリンクを右寄せ（2段目） - 非ログイン時のみ */
    .kuro-price-display.has-login-link {
        flex: 0 0 100%; /* 幅100%で改行 */
        display: flex;
        justify-content: flex-end;
    }
    
    /* 通常の価格表示（ログイン時）は1行で右寄せ */
    .kuro-price-display.has-price {
        flex: 0 0 auto;
        display: inline-block;
        margin-left: auto; /* 右寄せ */
        align-self: center; /* 垂直方向中央 */
    }
    
    /* 価格テキストの調整 */
    .kuro-price-display .woocommerce-Price-amount,
    .kuro-price-display del,
    .kuro-price-display ins {
        white-space: nowrap;
        font-size: 14px;
    }
}

/* 容量タグ */
.kuro-capacity-tag {
    background-color: #ff5757;
    color: white;
    padding: 8px 16px; /* ログインボタンと同じ高さに調整 */
    font-size: 14px; /* ログインボタンと同じフォントサイズ */
    font-weight: bold;
    border-radius: 3px;
    white-space: nowrap;
    flex-shrink: 0;
    letter-spacing: 0.5px;
    line-height: 1.5; /* 高さを統一 */
    display: inline-flex;
    align-items: center;
    justify-content: center; /* 中央揃え追加 */
    height: 36px; /* 固定高さ */
}

/* 価格表示エリア */
.kuro-price-display {
    text-align: right;
    flex-grow: 1; /* 残りのスペースを使う */
    display: flex;
    justify-content: flex-end;
}

/* 商品一覧ページ専用のログインリンク */
.products .product .kuro-login-for-price {
    display: inline-block;
    padding: 8px 16px; /* 容量タグと同じパディング */
    background: transparent; /* 背景色なし */
    color: #ffc107 !important; /* 文字色を黄色に */
    text-decoration: none;
    font-size: 14px; /* 容量タグと同じサイズ */
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    line-height: 1.5;
    height: 36px; /* 容量タグと同じ高さ */
    display: inline-flex;
    align-items: center;
}

/* PC半画面や中間サイズでの調整 */
@media (min-width: 381px) and (max-width: 1200px) {
    .products .product .kuro-login-for-price {
        font-size: 12px; /* さらに小さく */
        padding: 6px 10px; /* パディングも減らす */
    }
    
    .kuro-capacity-tag {
        font-size: 12px; /* 同じく小さく */
        padding: 6px 10px;
    }
}

.products .product .kuro-login-for-price:hover {
    color: #ffab00 !important; /* ホバー時も黄色系 */
    text-decoration: underline;
    transform: none; /* 移動効果を削除 */
}

/* 絵文字を削除（::beforeを無効化） */
.products .product .kuro-login-for-price::before,
.kuro-login-for-price::before {
    content: none !important;
    display: none !important;
}

/* 商品枠線とホバー効果 */
.products .product {
    border: 2px solid #e0e0e0; /* 枠線を太く */
    border-radius: 0; /* 角丸を削除 */
    padding: 15px;
    transition: all 0.3s ease;
    background: white;
}

.products .product:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* Astraテーマ対応 */
.astra-shop-summary-wrap .price {
    margin: 0;
    width: 100%;
}

/* レスポンシブ対応 */
@media (max-width: 480px) {
    .kuro-product-price-wrapper {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .kuro-capacity-tag {
        font-size: 13px;
        padding: 6px 12px;
        height: 32px;
    }
    
    .products .product .kuro-login-for-price {
        font-size: 13px;
        padding: 6px 12px;
        height: 32px;
    }
}

/* ========================================
   価格非表示機能 - プロフェッショナル版
   ======================================== */

/* 価格非表示リンク（商品詳細ページ用） */
.single-product .kuro-login-for-price {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: #ffc107; /* 黄色背景に統一 */
    color: #333 !important; /* 濃いグレーテキスト */
    text-decoration: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    position: relative;
    overflow: hidden;
}

/* ホバーエフェクト（商品詳細ページ） */
.single-product .kuro-login-for-price:hover {
    background: #ffab00; /* 濃い黄色 */
    color: #333 !important;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(255, 193, 7, 0.3);
}

/* ========================================
   会員限定価格の表示
   ======================================== */

/* 会員特別価格の強調表示 */
.price .kuro-member-price {
    color: #e74c3c !important;
    font-size: 1.2em;
    font-weight: 700;
}

/* 通常価格に取り消し線 */
.price del .woocommerce-Price-amount {
    opacity: 0.7;
}

/* 会員価格ラベル */
.kuro-member-price-label {
    display: inline-block;
    background: #e74c3c;
    color: white;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
}

/* ========================================
   価格関連の通知・メッセージ
   ======================================== */

/* 価格変更通知 - より洗練されたデザイン */
.kuro-price-notice {
    background: linear-gradient(to right, #fff9e6 0%, #fffdf7 100%);
    border-left: 4px solid #f39c12;
    color: #7e5109;
    padding: 15px 20px;
    margin: 15px 0;
    border-radius: 0 6px 6px 0;
    font-size: 14px;
    line-height: 1.6;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.kuro-price-notice strong {
    font-weight: 700;
    color: #5a3a07;
}

/* 会員限定商品の表示（無効化） */
.kuro-members-only-product {
    position: relative;
}

/* 会員限定バッジを削除 */
.kuro-members-only-badge {
    display: none !important; /* 完全に非表示 */
}

/* ========================================
   ログインフォームのカスタマイズ
   ======================================== */

/* 価格確認のためのログインメッセージ */
.kuro-login-message {
    background: #ecf0f1;
    border: 1px solid #bdc3c7;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 6px;
    text-align: center;
}

.kuro-login-message h3 {
    color: #2c3e50;
    font-size: 20px;
    margin-bottom: 10px;
}

.kuro-login-message p {
    color: #7f8c8d;
    font-size: 16px;
    margin: 0;
}

/* ========================================
   WooCommerce標準ボタンの改善
   ======================================== */

/* すべてのWooCommerceボタンを統一 */
.woocommerce button.button,
.woocommerce a.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
    background: #2c3e50;
    color: #ffffff !important;
    border: none;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 6px;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    line-height: 1.5;
    cursor: pointer;
    text-align: center;
}

/* ホバー状態 */
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover {
    background: #34495e;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* プライマリボタン（カートに追加など） */
.woocommerce button.single_add_to_cart_button,
.woocommerce button.button.alt {
    background: #e74c3c;
}

.woocommerce button.single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover {
    background: #c0392b;
}

/* フォームの保存ボタン */
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"],
.woocommerce-ResetPassword button[type="submit"] {
    color: #ffffff !important;
    background-color: #e74c3c !important;
    border: none;
    padding: 12px 30px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    border-radius: 6px;
    transition: all 0.3s ease;
    text-transform: none;
}

.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register button[type="submit"]:hover,
.woocommerce-ResetPassword button[type="submit"]:hover {
    background-color: #c0392b !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* ========================================
   レスポンシブ対応
   ======================================== */

@media (max-width: 768px) {
    .kuro-login-for-price {
        font-size: 14px;
        padding: 10px 20px;
        width: 100%;
        justify-content: center;
    }
    
    .single-product .summary .kuro-login-for-price {
        display: flex;
        width: 100%;
    }
    
    .kuro-members-only-badge {
        display: none !important;
    }
}

/* ========================================
   アニメーション
   ======================================== */

/* フェードイン効果 */
@keyframes kuroFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.kuro-login-for-price,
.kuro-price-notice,
.kuro-member-price-label {
    animation: kuroFadeIn 0.5s ease-out;
}

/* カート追加成功アニメーション */
.kuro-added-success {
    background: #27ae60 !important;
    position: relative;
}

.kuro-added-success::after {
    content: "✓";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: white;
    animation: kuroCheckmark 0.5s ease-out;
}

@keyframes kuroCheckmark {
    0% {
        transform: translateY(-50%) scale(0);
        opacity: 0;
    }
    50% {
        transform: translateY(-50%) scale(1.2);
    }
    100% {
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }
}

/* ========================================
   アクセシビリティ向上
   ======================================== */

/* フォーカス状態の改善 */
.kuro-login-for-price:focus,
.woocommerce button.button:focus {
    outline: 3px solid #3498db;
    outline-offset: 2px;
}

/* スクリーンリーダー対応 */
.kuro-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ========================================
   注文履歴ページの改善
   ======================================== */

/* 注文履歴テーブルの改善 */
.woocommerce-MyAccount-content .woocommerce-orders-table {
    border: 1px solid #e9ecef;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.woocommerce-MyAccount-content .woocommerce-orders-table thead {
    background: #f8f9fa;
}

.woocommerce-MyAccount-content .woocommerce-orders-table th {
    font-weight: 600;
    color: #2c3e50;
    padding: 15px;
    border-bottom: 2px solid #dee2e6;
}

.woocommerce-MyAccount-content .woocommerce-orders-table td {
    padding: 15px;
    vertical-align: middle;
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:hover {
    background: #f8f9fa;
}

/* 注文ステータスバッジ */
.woocommerce-orders-table .order-status {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.order-status.status-completed {
    background: #d4edda;
    color: #155724;
}

.order-status.status-processing {
    background: #cce5ff;
    color: #004085;
}

.order-status.status-on-hold {
    background: #fff3cd;
    color: #856404;
}

/* アクションボタンの改善 */
.woocommerce-orders-table .woocommerce-button {
    padding: 6px 12px;
    font-size: 13px;
    margin: 2px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s ease;
}

.woocommerce-orders-table .button.view {
    background: #6c757d;
    color: white !important;
}

.woocommerce-orders-table .button.view:hover {
    background: #5a6268;
}

.woocommerce-orders-table .button.kuro_download_invoice {
    background: #e74c3c;
    color: white !important;
}

.woocommerce-orders-table .button.kuro_download_invoice:hover {
    background: #c0392b;
}

/* PDF絵文字を削除 */
.woocommerce-orders-table .button.kuro_download_invoice::before {
    content: none !important;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .woocommerce-MyAccount-content .woocommerce-orders-table {
        font-size: 14px;
    }
    
    .woocommerce-orders-table th,
    .woocommerce-orders-table td {
        padding: 10px 5px;
    }
    
    .woocommerce-orders-table .woocommerce-button {
        padding: 4px 8px;
        font-size: 12px;
        margin: 1px;
    }
    
    /* アカウントナビゲーションの改善 */
    .woocommerce-MyAccount-navigation ul {
        border: 1px solid #e9ecef;
        border-radius: 6px;
        overflow: hidden;
        margin-bottom: 20px;
    }
    
    .woocommerce-MyAccount-navigation ul li {
        border-bottom: 1px solid #e9ecef;
    }
    
    .woocommerce-MyAccount-navigation ul li:last-child {
        border-bottom: none;
    }
    
    .woocommerce-MyAccount-navigation ul li a {
        padding: 15px;
        font-size: 15px;
        display: block;
        transition: background 0.2s ease;
    }
    
    .woocommerce-MyAccount-navigation ul li.is-active a,
    .woocommerce-MyAccount-navigation ul li a:hover {
        background: #f8f9fa;
        color: #e74c3c;
        font-weight: 600;
    }
}

/* ========================================
   補助金審査向け追加スタイル
   ======================================== */

/* 完成度の高いローディング表示 */
.kuro-loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #ffffff;
    animation: kuroSpin 1s linear infinite;
}

@keyframes kuroSpin {
    to { transform: rotate(360deg); }
}

/* エラーメッセージの改善 */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: 6px;
    font-size: 15px;
    line-height: 1.6;
}

.woocommerce-error {
    background: #fee;
    border-left: 4px solid #e74c3c;
    color: #721c24;
}

.woocommerce-message {
    background: #d4edda;
    border-left: 4px solid #27ae60;
    color: #155724;
}

.woocommerce-info {
    background: #cce5ff;
    border-left: 4px solid #3498db;
    color: #004085;
}

/* ========================================
   フォームの改善
   ======================================== */

/* ログイン/登録フォーム */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register {
    border: 1px solid #e9ecef;
    padding: 30px;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.woocommerce form .form-row {
    margin-bottom: 20px;
}

.woocommerce form .form-row label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 5px;
    display: block;
}

.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="password"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    font-size: 15px;
    transition: border-color 0.2s ease;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    outline: none;
    border-color: #3498db;
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
}

/* エラー表示の改善 */
.woocommerce form .form-row.woocommerce-invalid label {
    color: #e74c3c;
}

.woocommerce form .form-row.woocommerce-invalid input {
    border-color: #e74c3c;
}

.woocommerce form .form-row.woocommerce-invalid .select2-container {
    border-color: #e74c3c;
}

/* ========================================
   404エラー防止のための追加スタイル
   ======================================== */

/* 絵文字フォントのフォールバック（削除済みなので不要） */

/* ========================================
   カート内価格非表示機能（Version 0.5）
   ======================================== */

/* カート内の価格非表示リンク */
.kuro-hidden-price,
.kuro-hidden-total {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: linear-gradient(135deg, #95a5a6 0%, #7f8c8d 100%);
    color: white !important;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.kuro-hidden-price:hover,
.kuro-hidden-total:hover {
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
    color: white !important;
    text-decoration: none;
    transform: translateX(5px);
}

/* カート内価格非表示アイコンも削除 */
.kuro-hidden-price::before,
.kuro-hidden-total::before {
    content: none !important;
}

/* カートテーブル内での調整 */
.woocommerce table.cart td.product-price .kuro-hidden-price,
.woocommerce table.cart td.product-subtotal .kuro-hidden-price {
    margin: 0;
    display: inline-flex;
}

/* カート合計での表示 */
.cart_totals .kuro-hidden-total {
    float: right;
    margin-left: 10px;
}

/* ミニカート（ヘッダーカート）での非表示 */
.widget_shopping_cart .kuro-cart-total-hidden {
    text-align: center;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 4px;
    margin: 10px 0;
}

.widget_shopping_cart .kuro-cart-total-hidden a {
    color: #e74c3c;
    font-weight: 600;
    text-decoration: none;
}

.widget_shopping_cart .kuro-cart-total-hidden a:hover {
    text-decoration: underline;
}

/* カートページのログイン促進メッセージ */
.woocommerce-notices-wrapper .woocommerce-info.kuro-login-notice {
    background: linear-gradient(to right, #fff3cd 0%, #fffbf0 100%);
    border-left: 4px solid #f39c12;
    color: #856404;
    padding: 20px;
    border-radius: 0 6px 6px 0;
    margin-bottom: 30px;
    font-size: 16px;
    line-height: 1.6;
}

.woocommerce-notices-wrapper .woocommerce-info.kuro-login-notice a {
    color: #e74c3c;
    font-weight: 700;
    text-decoration: underline;
}

.woocommerce-notices-wrapper .woocommerce-info.kuro-login-notice a:hover {
    color: #c0392b;
    text-decoration: none;
}

/* チェックアウトボタンの無効化スタイル */
.woocommerce .cart .wc-proceed-to-checkout a.checkout-button.disabled {
    background: #95a5a6 !important;
    cursor: not-allowed !important;
    opacity: 0.6;
}

.woocommerce .cart .wc-proceed-to-checkout a.checkout-button.disabled:hover {
    background: #95a5a6 !important;
    transform: none !important;
    box-shadow: none !important;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .kuro-hidden-price,
    .kuro-hidden-total {
        font-size: 13px;
        padding: 6px 12px;
    }
    
    .cart_totals .kuro-hidden-total {
        float: none;
        display: block;
        margin: 10px 0;
        text-align: center;
    }
    
    .woocommerce-notices-wrapper .woocommerce-info.kuro-login-notice {
        font-size: 14px;
        padding: 15px;
    }
}

/* アニメーション効果（削除） */