/**
Theme Name: Pictomina VOD
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pictomina-vod
Template: astra
*/
/**
 * 商品ページレイアウト - 2カラムレイアウト
 * 左：商品情報（40%）、右：動画一覧（55%）
 */

/* 親コンテナをFlexboxに（Astraテーマ対応） */
body.single-product .site-content .ast-container .ast-woocommerce-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    align-items: flex-start !important;
}

/* 左列：商品情報全体（40%） */
body.single-product .ast-woocommerce-container div.product {
    flex: 0 0 calc(40% - 15px) !important;
    max-width: calc(40% - 15px) !important;
    order: 1 !important;
    display: block !important;
}

/* 商品画像 */
body.single-product div.product .woocommerce-product-gallery {
    width: 100% !important;
    margin-bottom: 20px !important;
}

/* 商品画像のサイズ調整 */
body.single-product div.product .woocommerce-product-gallery img {
    max-height: 350px !important;
    object-fit: contain !important;
    width: 100% !important;
}

/* 商品サマリー */
body.single-product div.product .summary {
    width: 100% !important;
    float: none !important;
}

/* 右列：動画プレーヤーエリア（55%） */
body.single-product .ast-woocommerce-container .pm-product-videos-shortcode {
    flex: 0 0 calc(55% - 15px) !important;
    max-width: calc(55% - 15px) !important;
    order: 2 !important;
    margin: 0 !important;
    padding: 25px !important;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    align-self: flex-start !important;
}

/* タブセクション（商品説明など）を下に */
body.single-product .woocommerce-tabs {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    order: 3 !important;
    margin-top: 30px !important;
}

/* 関連商品も下に */
body.single-product .related {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    order: 4 !important;
    margin-top: 30px !important;
}

/* 商品タイトル */
.single-product .product_title {
    font-size: 22px !important;
    margin-bottom: 15px !important;
    color: #333 !important;
    font-weight: 700 !important;
}

/* カテゴリー */
.single-product .posted_in {
    margin-bottom: 15px !important;
    font-size: 14px !important;
    color: #666 !important;
}

/* 購入ボタン */
.single-product .ppc-button-wrapper {
    margin-bottom: 20px !important;
}

/* 動画プレーヤーのタイトル */
.pm-videos-title {
    font-size: 24px !important;
    margin-bottom: 20px !important;
    color: #2c3e50 !important;
    text-align: left !important;
    font-weight: 700 !important;
}

/* 動画プレーヤー本体 */
.pm-product-videos-shortcode iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 400px !important;
    border-radius: 8px !important;
}

/* 動画情報 */
.pm-video-info {
    margin-top: 15px !important;
    padding: 15px !important;
    background: white !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.pm-video-info p {
    margin: 8px 0 !important;
    font-size: 15px !important;
    color: #666 !important;
}

.pm-video-filename {
    font-weight: bold !important;
    color: #333 !important;
    font-size: 16px !important;
}

/* パンくずリストのスタイル */
.woocommerce-breadcrumb {
    margin-bottom: 20px !important;
    font-size: 14px !important;
    color: #666 !important;
}

/* モバイル対応 */
@media (max-width: 992px) {
    body.single-product .ast-woocommerce-container {
        flex-direction: column !important;
    }

    body.single-product div.product,
    body.single-product .pm-product-videos-shortcode {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .pm-product-videos-shortcode iframe {
        height: 250px !important;
    }
}

/* 商品要素のdisplayを強制的にblock固定 */
body.single-product .ast-woocommerce-container div#product-230.product,
body.single-product .ast-woocommerce-container div.product {
    display: block !important;
}

/* 商品画像とサマリーを確実にブロック要素に */
body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

/* 商品ページ強制2カラムレイアウト - Grid使用 */
body.single-product .ast-woocommerce-container {
    display: grid !important;
    grid-template-columns: 40% 55% !important;
    gap: 30px !important;
}

body.single-product div.product {
    grid-column: 1 !important;
}

body.single-product .pm-product-videos-shortcode {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

@media (max-width: 992px) {
    body.single-product .ast-woocommerce-container {
        grid-template-columns: 100% !important;
    }
}

/* 2カラムレイアウト（テンプレート版） */
.pm-product-two-column-layout {
    display: grid !important;
    grid-template-columns: 40% 55% !important;
    gap: 30px !important;
}

.pm-product-left-column,
.pm-product-right-column {
    width: 100% !important;
}

@media (max-width: 992px) {
    .pm-product-two-column-layout {
        grid-template-columns: 100% !important;
    }
}

/* 商品ページのコンテナを全幅に */
body.single-product .site-content,
body.single-product .ast-container {
    max-width: 1400px !important;
    width: 100% !important;
    padding: 0 40px !important;
}

body.single-product .content-area {
    width: 100% !important;
    max-width: 100% !important;
}

/* 動画プレーヤーを右列いっぱいに広げる */
body.single-product .pm-product-right-column {
    width: 100% !important;
}

body.single-product .pm-product-right-column .pm-product-videos-shortcode {
    width: 100% !important;
    max-width: 100% !important;
}

body.single-product .pm-product-right-column iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 450px !important;
}

/* ========================================

/* ========================================
   商品ページ 2カラムレイアウト（修正版）
   ======================================== */

/* 1. Astraテーマの通常幅を維持 */
body.single-product .site-content,
body.single-product .ast-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
}

/* 2. WooCommerceコンテナは親幅いっぱいに */
body.single-product .ast-woocommerce-container,
body.single-product div.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. 2カラムレイアウト本体 */
body.single-product .pm-product-two-column-layout {
    display: grid !important;
    grid-template-columns: 45% 52% !important;
    gap: 3% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* 4. 左右のカラム */
body.single-product .pm-product-left-column,
body.single-product .pm-product-right-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

/* 5. 動画プレーヤーのサイズ */
body.single-product .pm-product-right-column .pm-product-videos-shortcode {
    width: 100% !important;
    max-width: 100% !important;
}

body.single-product .pm-product-right-column iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 500px !important;
}

/* 6. モバイル対応 */
@media (max-width: 992px) {
    body.single-product .pm-product-two-column-layout {
        grid-template-columns: 100% !important;
    }
}


/* ========================================
   Flexbox完全無効化 - Grid強制適用
   ======================================== */

/* 旧Flexboxスタイルを完全に上書き */
body.single-product .ast-woocommerce-container {
    display: block !important;
    flex-wrap: unset !important;
    flex-direction: unset !important;
    gap: 0 !important;
    align-items: unset !important;
}

body.single-product div.product {
    flex: unset !important;
    max-width: 100% !important;
    order: unset !important;
    grid-column: unset !important;
}

body.single-product .pm-product-videos-shortcode {
    flex: unset !important;
    max-width: 100% !important;
    order: unset !important;
    grid-column: unset !important;
    grid-row: unset !important;
    /* インラインスタイルを上書き */
    min-width: unset !important;
    width: 100% !important;
    flex-shrink: unset !important;
}


/* ========================================
   商品ページ シンプルレイアウト
   ======================================== */

/* 動画セクション全体 */
.pm-video-section {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 40px !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
}

/* セクションタイトル */
.pm-video-section-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

/* 動画プレーヤーコンテナ */
.pm-video-section .pm-product-videos-shortcode {
    background: rgba(255,255,255,0.95) !important;
    padding: 25px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15) !important;
}

/* 動画プレーヤー本体 */
.pm-video-section iframe {
    width: 100% !important;
    max-width: 100% !important;
    height: 600px !important;
    border-radius: 8px !important;
}

/* 商品画像を小さめに */
body.single-product .woocommerce-product-gallery img {
    max-height: 400px !important;
    object-fit: contain !important;
}

/* 購入ボタンを目立たせる */
body.single-product .cart .button {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    padding: 16px 40px !important;
    border-radius: 50px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(102,126,234,0.4) !important;
}

body.single-product .cart .button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(102,126,234,0.6) !important;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .pm-video-section {
        padding: 20px !important;
        margin: 20px 10px !important;
    }
    
    .pm-video-section-title {
        font-size: 22px !important;
    }
    
    .pm-video-section iframe {
        height: 300px !important;
    }
}


/* ========================================



/* ========================================
   動画プレーヤーを大きく表示
   ======================================== */

/* 動画セクションをより広く */
.pm-video-section {
    max-width: 100% !important;
    width: 100% !important;
    padding: 60px 20px !important;
}

/* 動画コンテナを中央に大きく */
.pm-video-section .pm-product-videos-shortcode {
    max-width: 900px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* 動画プレーヤー本体を大きく */
.pm-video-section iframe,
.pm-video-section video {
    width: 100% !important;
    max-width: 100% !important;
    height: 700px !important;
    min-height: 500px !important;
}

/* 動画情報エリアも広く */
.pm-video-section .pm-video-info {
    max-width: 900px !important;
    margin: 20px auto 0 !important;
}

/* タイトルをより大きく */
.pm-video-section-title {
    font-size: 32px !important;
    margin-bottom: 40px !important;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .pm-video-section iframe,
    .pm-video-section video {
        height: 400px !important;
        min-height: 300px !important;
    }
    
    .pm-video-section-title {
        font-size: 24px !important;
    }
}


/* ========================================
   商品ページ Amazonスタイルレイアウト
   ======================================== */

/* 商品画像を再表示（サムネイルとして） */
body.single-product .woocommerce-product-gallery {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    max-width: 500px !important;
}

body.single-product .woocommerce-product-gallery img {
    max-height: 500px !important;
    width: 100% !important;
    object-fit: contain !important;
}

/* 商品情報エリアを左右レイアウトに（WooCommerceデフォルトが横並び） */
body.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    align-items: flex-start !important;
}

body.single-product .woocommerce-product-gallery {
    flex: 0 0 auto !important;
    width: 40% !important;
    min-width: 300px !important;
}

body.single-product div.summary {
    flex: 1 1 auto !important;
    min-width: 300px !important;
}

/* 商品タイトル */
body.single-product .product_title {
    font-size: 28px !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
    color: #111 !important;
}

/* カテゴリー */
body.single-product .posted_in {
    font-size: 14px !important;
    color: #007185 !important;
    margin-bottom: 15px !important;
}

body.single-product .posted_in a {
    color: #007185 !important;
    text-decoration: none !important;
}

body.single-product .posted_in a:hover {
    color: #C7511F !important;
    text-decoration: underline !important;
}

/* 価格 */
body.single-product .price {
    font-size: 28px !important;
    color: #B12704 !important;
    margin-bottom: 20px !important;
}

/* 購入ボタン */
body.single-product .cart .button {
    background: #FFD814 !important;
    color: #111 !important;
    border: 1px solid #FCD200 !important;
    border-radius: 8px !important;
    padding: 12px 30px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

body.single-product .cart .button:hover {
    background: #F7CA00 !important;
    border-color: #F2C200 !important;
}

/* ========================================
   含まれる動画一覧セクション
   ======================================== */

.pm-product-video-list-section {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 60px auto 40px !important;
    padding: 0 20px !important;
}

.pm-section-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 30px !important;
    color: #111 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding-bottom: 15px !important;
}

/* 動画カードグリッド */
.pm-video-cards {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 30px !important;
}

/* 動画カード */
.pm-video-card {
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.pm-video-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    transform: translateY(-2px) !important;
}

/* サムネイル */
.pm-video-card-thumbnail {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16/9 !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pm-video-card-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pm-video-card-placeholder svg {
    opacity: 0.8 !important;
}

/* 再生時間バッジ */
.pm-video-card-duration {
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    background: rgba(0,0,0,0.8) !important;
    color: #fff !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* 動画情報 */
.pm-video-card-info {
    padding: 15px !important;
}

.pm-video-card-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111 !important;
    margin-bottom: 8px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.pm-video-card-resolution {
    font-size: 13px !important;
    color: #666 !important;
    margin: 0 !important;
}

/* モバイル対応 */
@media (max-width: 768px) {
    body.single-product div.product {
        flex-direction: column !important;
    }

    body.single-product .woocommerce-product-gallery {
        width: 100% !important;
    }

    .pm-video-cards {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
        gap: 20px !important;
    }
}

/* ========================================

/* ========================================
   Dokanページの横スクロールバー問題を解決
   Astraのコンテナ幅制限を解除
   ======================================== */

/* Dokanダッシュボードページのみ */
body.dokan-dashboard .site-content,
body.dokan-dashboard .ast-container,
body.dokan-dashboard .entry-content {
    max-width: 100% !important;
}

/* Dokanのコンテンツラッパー */
body.dokan-dashboard .dokan-dashboard-wrap {
    max-width: 100% !important;
}

/* テーブルの親要素 */
body.dokan-dashboard .dokan-dashboard-content {
    max-width: 100% !important;
    overflow-x: visible !important;
}
