/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
*/

/* =========================================
   1. GLOBAL: Core Typography & Resets
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@250;400;600;700&display=swap');

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #1f1c2c; /* Global Dark Background */
  color: #ddd;
  line-height: 1.6;
}

/* FULL BLEED FIXES (Prevents white bars) */
.wp-site-blocks, 
.entry-content, 
.post-content { 
    max-width: 100% !important; 
    padding: 0 !important; 
    margin: 0 !important;
}
.wp-block-group {
  max-width: 100% !important;
  width: 100% !important;
}

/* Shop Page Specific Margin Fix (From your original code) */
/*body.woocommerce-shop .wp-block-group, */
/*body.tax-product_cat .wp-block-group {*/
/*    width: auto !important;*/
/*    margin: 20px 40px;*/
/*}*/

/* Main Wrapper Gradient */
#skorm-wrapper {
    font-family: 'Montserrat', sans-serif;
  background: radial-gradient(ellipse at center, #1f1c2c 0%, #2c2c54 100%);
  color: #f5f5f5;
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* =========================================
   2. NAVIGATION: Header & Footer
   ========================================= */
.skorm-header, .skorm-header-nav {
      font-family: 'Montserrat', sans-serif;
  background: linear-gradient(135deg, #0f0c29, #302b63, #24243e);
  padding: 1.5rem 2rem;
  display: flex;
  justify-content: center;
  gap: 1.2rem;
  flex-wrap: wrap;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  box-sizing: border-box;
}

.skorm-header a, .skorm-header-nav a {
  color: #fff;
  background: rgba(255, 215, 0, 0.1);
  border: 1px solid gold;
  border-radius: 8px;
  padding: 0.6rem 1.2rem;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  backdrop-filter: blur(6px);
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.skorm-header a:hover, .skorm-header-nav a:hover {
  background: rgba(255, 215, 0, 0.3);
  box-shadow: 0 0 10px gold;
}

.skorm-footer {
        font-family: 'Montserrat', sans-serif;
  text-align: center;
  padding: 2.5rem;
  background-color: #0f0f0f;
  color: #888;
  font-size: 0.95rem;
  border-top: 1px solid #222;
  margin-top: auto;
}

/* =========================================
   3. HERO SECTIONS (Home & Rules)
   ========================================= */
#skorm-homepage { 
    font-family: 'Montserrat', sans-serif;
    background: radial-gradient(ellipse at center, #1f1c2c 0%, #2c2c54 100%);
    color: #f5f5f5;
    line-height: 1.6;
}

/* Homepage Hero */
.hero-section {
  text-align: center;
  padding: 3rem 2rem 6rem 2rem;
  flex-grow: 1;
}

.hero-section h1 {
    font-family: Literata, serif !important;
    font-size: 3.5rem; 
    color: gold; 
    text-shadow: 0 0 8px #ff9900; 
    text-transform: uppercase;
    margin-bottom: 3rem;
    font-weight: 650;
    line-height: 1.2;
}

.hero-section p {
    max-width: 720px; 
    margin: 0 auto 2.5rem auto; 
    font-size: 1.3rem; 
    color: #ddd;
}

/* Rules Page Hero (Your specific styling) */
.manual-hero {
    text-align: center;
    padding: 4rem 2rem 2rem;
}

.manual-hero h1 {
    font-family: Literata, serif !important;
    font-size: 4.0rem;
    font-weight: 250; /* Preserved your thin font weight */
    margin-bottom: 1rem;
    color: gold;
    text-shadow: 0 0 8px #ff8800;
    text-transform: uppercase;
    line-height: 1.1;
}

.manual-hero p {
    font-size: 1.3rem; 
    color: gold; 
    font-weight: bold; 
    text-transform: uppercase; 
    letter-spacing: 2px;
}

/* Logo Animation */
@keyframes subtleHeartbeat {
  0% { transform: scale(1); }
  50% { transform: scale(1.03); }
  100% { transform: scale(1); }
}

.hero-logo {
  max-width: 280px;
  height: auto;
  margin-bottom: 2rem;
  animation: subtleHeartbeat 3s infinite ease-in-out;
  filter: drop-shadow(0 0 8px rgba(160, 170, 190, 0.4));
  transition: all 0.5s ease-in-out;
  cursor: pointer;
}

.hero-logo:hover {
  filter: drop-shadow(0 0 25px rgba(200, 210, 255, 0.7));
  transform: translateY(-5px) scale(1.05);
  animation-play-state: paused;
}

/* =========================================
   4. COMPONENTS: Buttons & Cards
   ========================================= */
.btn-download {
  display: inline-block;
  padding: 1.2rem 2.5rem;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  border-radius: 10px;
  font-size: 1.2rem;
  transition: all 0.3s ease;
  text-transform: uppercase;
  margin: 10px;
}

.btn-android { background-color: #34a853; box-shadow: 0 0 20px rgba(52, 168, 83, 0.4); }
.btn-android:hover { background-color: #3fbc60; transform: translateY(-2px); }

.btn-apple { background-color: #007aff; box-shadow: 0 0 20px rgba(0, 122, 255, 0.4); }
.btn-apple:hover { background-color: #3395ff; transform: translateY(-2px); }

/* Glass Cards (Rules, Videos, Account) */
.manual-card, .video-card, .skorm-account-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 215, 0, 0.2);
    padding: 35px;
    margin: 25px 0;
    border-radius: 12px;
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

/* Account specific override */
.skorm-account-box {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background: rgba(15, 12, 41, 0.7);
    border: 1px solid rgba(255, 215, 0, 0.3);
}

/* =========================================
   5. WOOCOMMERCE: Global Overrides
   ========================================= */
.woocommerce, .woocommerce-account .entry-content { color: #ddd !important; }
.woocommerce a {text-decoration: none; }

/* Buttons */
/*.woocommerce button.button,*/
/*.woocommerce #respond input#submit,*/
/*.woocommerce input.button,*/
/*.wc-block-components-notice-banner__content .button,*/
/*#place_order {*/
/*    background-color: gold !important;*/
/*    color: #0f0c29 !important;*/
/*    font-weight: bold !important;*/
/*    text-transform: uppercase;*/
/*    padding: 1rem 2rem;*/
/*    border-radius: 8px !important;*/
/*    border: none !important;*/
/*    transition: all 0.3s ease;*/
/*}*/
/*.woocommerce button.button:hover, */
/*#place_order:hover {*/
/*    background-color: #fff !important;*/
/*    box-shadow: 0 0 15px gold;*/
/*    transform: translateY(-2px);*/
/*}*/

/* Inputs */
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.select2-container--default .select2-selection--single {
    background-color: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: white !important;
    padding: 12px !important;
    border-radius: 5px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: white !important;
    line-height: 40px !important;
}
.select2-container--default .select2-selection--single {
    height: auto !important;
    min-height: 45px !important;
}

/* =========================================
   6. WOOCOMMERCE: Cart & Checkout
   ========================================= */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content { background: transparent !important; }

.woocommerce table.shop_table {
    border: 1px solid rgba(255,255,255,0.1) !important;
    background: rgba(0,0,0,0.2) !important;
    border-radius: 8px;
    border-collapse: separate !important;
    border-spacing: 0;
}

.woocommerce table.shop_table th {
    background: rgba(255, 215, 0, 0.1) !important;
    color: gold !important;
    text-transform: uppercase;
    padding: 1rem !important;
}

.woocommerce table.shop_table td {
    background: transparent !important;
    border-top: 1px solid rgba(255,255,255,0.05) !important;
    color: #ddd !important;
    padding: 1rem !important;
}

.woocommerce .amount { color: gold !important; font-weight: bold; }

/* Checkout Boxes */
#order_review, #payment {
    background: rgba(15, 12, 41, 0.8) !important;
    border-radius: 8px !important;
    padding: 1.5rem !important;
    border: 1px solid rgba(255,255,255,0.1);
}
#payment div.payment_box {
    background-color: rgba(255, 215, 0, 0.1) !important;
    color: #fff !important;
}

/* =========================================
   7. WOOCOMMERCE: My Account & Login
   ========================================= */
/* Sidebar Layout - Forces Side by Side */
.skorm-account-box .woocommerce {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 3rem;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-MyAccount-navigation {
    flex: 0 0 260px !important;
    width: 260px !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-content {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Menu Clean Up */
.woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; }
.woocommerce-MyAccount-navigation li { margin-bottom: 8px; border: none; list-style: none !important; }
.woocommerce-MyAccount-navigation a {
    display: flex !important; 
    align-items: center;
    padding: 1rem 1.5rem;
    background-color: rgba(255, 255, 255, 0.05);
    color: #ccc !important;
    border-radius: 8px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
}
.woocommerce-MyAccount-navigation a br { display: none !important; }
.woocommerce-MyAccount-navigation li.is-active a {
    background: linear-gradient(90deg, rgba(255, 215, 0, 0.2), transparent);
    border-left: 4px solid gold;
    color: gold !important;
}

/* Login/Register Form Centering */
.woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
    flex-direction: column !important;
    align-items: center !important;
}

.woocommerce form.login, .woocommerce form.register {
    border: 1px solid rgba(255, 215, 0, 0.2) !important;
    padding: 2.5rem !important;
    background: rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    width: 100%;
    max-width: 450px !important;
    margin: 0 auto !important;
    border-radius: 12px;
}
.skorm-account-box h2 {
    color: gold !important;
    text-transform: uppercase;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    width: 100%;
}

/* Address Page Cards */
.woocommerce-Addresses {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-between;
}
.woocommerce-Address {
    flex: 1 1 45%;
    min-width: 300px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 215, 0, 0.1);
    padding: 2rem;
    border-radius: 10px;
}
.woocommerce-Address-title h2 { color: white !important; font-size: 1.5rem; }
.woocommerce-Address-title a.edit {
    display: inline-block;
    color: gold !important;
    border: 1px solid gold;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    margin-top: 10px;
}
.woocommerce-Address-title a.edit br { display: none; }

/* Kill Legacy Clearfix (Essential) */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after {
    content: none !important;
    display: none !important;
}

/* =========================================
   8. PAGE TEMPLATE: Rules & Manual
   ========================================= */
.manual-container {
    
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 20px 100px;
}

.manual-container h2 {
    font-family: Literata, serif !important;
    color: gold;
    font-size: 2.2rem;
    border-bottom: 1px solid rgba(255, 215, 0, 0.3);
    padding-bottom: 10px;
    margin-top: 60px;
    margin-bottom: 30px;
    text-transform: uppercase;
    text-align: center;
    font-weight: 900;
    
    color: gold;
    font-size: 2.2rem;
    border-bottom: 1px solid rgba(255, 215, 0, 0.3);
    padding-bottom: 10px;
    margin-top: 60px;
    text-transform: uppercase;
    text-align: center;
}

.manual-container h3 {
    font-family: Literata, serif !important;
    color: #fff;
    font-size: 1.6rem;
    margin-top: 0;
    margin-bottom: 20px;
    border-left: 4px solid gold;
    padding-left: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.manual-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.1);
}

.img-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 20px 0;
}

.legend-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 20px;
}
.legend-item { display: flex; align-items: center; gap: 15px; font-weight: bold; color: #fff; }
.color-box { width: 30px; height: 30px; border: 2px solid rgba(255,255,255,0.5); border-radius: 4px; }

.tactical-note {
    border: 1px dashed gold;
    background: rgba(255, 215, 0, 0.05);
    padding: 20px;
    margin: 20px 0;
    font-style: italic;
    border-radius: 8px;
    text-align: center;
    color: #fff;
}

/* =========================================
   9. PAGE TEMPLATE: Videos
   ========================================= */
.video-container { max-width: 1000px; margin: 0 auto; padding: 40px 20px 100px; }

.video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}
.video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.video-title { color: gold; text-align: center; margin-top: 15px; font-weight: bold; text-transform: uppercase; font-size: 1.2rem; }

/* =========================================
   10. SINGLE PRODUCT (White Box Design)
   ========================================= */

/* HIDE DEFAULT THEME HEADER/FOOTER (Fixes Double Header) */
body.single-product .wp-site-blocks > header,
body.single-product .wp-site-blocks > footer {
    display: none !important;
}

/* White Box Container */
.product-container {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    max-width: 1200px;
    margin: 40px auto;
    padding: 40px;
    background-color: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    color: #333;
    border-radius: 4px;
}

/* Header */
.product-site-header {
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    text-align: center;
    margin-bottom: 40px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #333;
}

/* Flex Grid */
.product-main {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}
.product-images, .product-details {
    flex: 1;
    min-width: 400px;
}

.product-details h1 {
    font-family: Literata, serif;
    font-weight: 900;
}
.product-details span {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color:#777;
    line-height:21px;
}
.price .woocommerce-Price-amount span{
    color:#a00;
     line-height:36px;
}
.price .woocommerce-Price-amount bdi{
    color:#a00;
     line-height:36px;
}
.price{
    padding-top:20px;
     padding-bottom:20px;
}
.cart .quantity::before{
    font-size:22px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
/* Left Image */
.main-image-wrapper {
    border: 1px solid #eee;
    padding: 10px;
}
.main-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
}
.image-caption {
    text-align: center;
    font-size: 12px;
    color: #888;
    margin-top: 10px;
}

/* Details Typography */
.product_title {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 32px !important;
    color: #222 !important;
    margin: 0 0 5px 0;
    line-height: 1.2;
}
.sku-wrapper {
    color: #888;
    font-size: 13px;
    margin-bottom: 20px;
}

.price-wrapper, .price-wrapper .amount {
    font-size: 28px;
    font-weight: 700;
    color: #D80000 !important; /* RED PRICE */
    margin-bottom: 20px;
}

/* Action Row (Quantity + Buttons) */
.custom-actions-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}
.custom-actions-row form.cart {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
}

/* Quantity Input */
.quantity {
    display: flex;
    align-items: center;
}
.quantity::before {
    content: "Quantity: ";
    font-size: 16px;
    color: #333;
    margin-right: 10px;
}

.woocommerce div.product form.cart table.variations th {
    vertical-align: top;
}

.woocommerce div.product form.cart table.variations td {
    display: flex;
}

.woocommerce div.product form.cart .variations label {
    font-weight: 300;
}

.woocommerce table.variations tr td select {
    min-width: 80% !important;
    border: 1px solid #ccc !important;
    color: black !important;
    border-radius: unset !important;
}

.quantity input.qty {
    width: 50px !important;
    padding: 10px !important;
    border: 1px solid #ccc !important;
    border-radius: unset !important;
    margin-right: 10px !important;
    line-height: normal;
    height: max-content;
    color: black !important;
    text-align: left !important;
}

.woocommerce div.product form.cart {
    margin-bottom: 0em;
}

/* Buttons (Gold) */
body button.single_add_to_cart_button,
a.custom-checkout-btn {
    background-color: #d4af37 !important; /* GOLD */
    padding: 12px 30px;
    border: none !important;
    cursor: pointer;
    text-transform: uppercase;

    font-family: Arial, Helvetica, sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 13px;
    line-height: normal;
    color: rgb(255, 255, 255);
}

button.single_add_to_cart_button:hover,
a.custom-checkout-btn:hover {
    background-color: #b3932b !important;
}

a.custom-checkout-btn {
    margin-left: 10px;
    border-radius: 0px !important;
}

/* Highlight Box */
.highlight-box {
    background: #fdfdfd;
    border: 1px solid #eee;
    padding: 15px;
    font-style: italic;
    margin: 20px 0;
    font-size: 22px;
    color: #333;
    line-height: 1.5;
    background: #fdfdfd;
}

.wc-block-components-product-summary,
.highlight-box p {
    margin: 0 !important;
}

p.availability {
    font-weight: 400;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    display: none;
}

/* Description */
.product-description-section {
    margin-top: 60px;
}
.product-description-section h3 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.product-description-section hr {
    border: 0;
    border-top: 1px solid #333;
    margin-bottom: 20px;
}
.product-description-section p {
    color: #444;
}

/* =========================================
   11. MOBILE RESPONSIVE
   ========================================= */
@media (max-width: 768px) {
    .product-container { padding: 20px; margin: 20px; }
    .product-main { flex-direction: column; gap: 30px; }
    .custom-actions-row { flex-direction: column; align-items: flex-start; }
    
    .skorm-account-box .woocommerce { flex-direction: column !important; }
    .woocommerce-MyAccount-navigation { width: 100% !important; margin-bottom: 20px !important; }
    
    .img-grid { grid-template-columns: 1fr; }
    .manual-hero h1 { font-size: 2.8rem; }
}





/* =========================================
   19. STATIC HTML HELPERS (For Design Testing)
   ========================================= */

/* The Add/Checkout Buttons in your static HTML */
.btn-add {
    background-color: #d4af37; /* Gold */
    color: #fff;
    padding: 30px 30px;
    
    border: none;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 14px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
}
.btn-add:hover {
    background-color: #b3932b;
}

/* The Quantity Input in your static HTML */
.qty-input {
    width: 80px;
    padding: 10px;
    border: 1px solid #ccc;
    margin-right: 10px;
    text-align: center;
    font-weight: bold;
    color: #333;
    background: #fff;
    border-radius: 4px;
    height: 40px; /* Match button height */
}

/* The Layout Container */
.add-to-cart-section {
    padding: 20px 0px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: flex-end; /* Aligns input and buttons */
    flex-wrap: wrap;
}

.add-to-cart-section p {
    margin: 0;
}

/* Tab Header */
.tab-header {
    border-bottom: 2px solid #333;
    font-weight: bold;
    padding: 10px 0;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-size: 18px;
    color: #222;
}

/* Main Image Box */
.main-image {
    width: 100%;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #999;
}


/* =========================================
   22. SHORTCODE GRID STYLING
   ========================================= */

/* =========================================
   10. CATEGORY GRID STYLING
   ========================================= */
/* Shop Container - Strictly Centered */

.shop-container {
    width: 100%;
    max-width: 1200px !important; /* Force limit */
    margin: 0 auto !important;    /* Force Center */
    padding: 0 20px;
    box-sizing: border-box;
}

/* =========================================
   10. CATEGORY GRID STYLING (Fixed Widths)
   ========================================= */

ul.skorm-custom-grid {
    display: grid;
    /* Change: Stop cards from growing larger than 400px */
    grid-template-columns: repeat(auto-fit, minmax(280px, 400px)); 
    
    /* Change: Center the cards in the middle of the screen */
    justify-content: center; 
    
    gap: 30px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100%;
}

/* Ensure the cards fill their grid cell but respect the limit */
ul.skorm-custom-grid li {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 215, 0, 0.2);
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    width: 100%; /* Fill the grid cell */
    max-width: 400px; /* Double safety to prevent giant cards */
    margin: 0 auto; /* Center card in cell if grid stretches */
} 

ul.skorm-custom-grid li:hover {
    transform: translateY(-5px);
    border-color: gold;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.2);
}

ul.skorm-custom-grid li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white !important;
    text-decoration: none;
    padding-bottom: 20px;
    height: 100%;
}

ul.skorm-custom-grid li img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 15px;
    opacity: 0.8;
}
ul.skorm-custom-grid li:hover img { opacity: 1; }

ul.skorm-custom-grid li span {
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
}
ul.skorm-custom-grid li span.count {
    font-size: 0.8rem;
    color: gold;
    margin-top: 5px;
}