/* 
   NovaShop - E-Commerce Theme
   Author: Jashan Preetsingh
   Version: 2.0
   Description: Custom WordPress block theme
   for NovaShop student e-commerce store.
    */

/* 
   1. RESET & BASE
    */
   *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

   /* CSS Custom Properties - Color Palette & Spacing */
   :root{
       /* Brand Colors */
       --o:#ff9900;        /* Primary orange */
       --od:#e47911;       /* Orange dark hover */
       --n:#131921;        /* Navy dark - header/footer */
       --nm:#232f3e;       /* Navy mid */
       --ln:#37475a;       /* Navy light */
   
       /* UI Colors */
       --g:#007600;        /* Green - in stock */
       --t:#0f1111;        /* Text dark */
       --tm:#565959;       /* Text muted */
       --b:#d5d9d9;        /* Border color */
       --bg:#f0f2f2;       /* Page background */
       --r:#cc0c39;        /* Red - sale/error */
   
       /* Layout */
       --mw:1200px;        /* Max width */
       --rad:8px;          /* Border radius */
   
       /* Shadows */
       --sh:0 2px 8px rgba(0,0,0,0.12);
       --shh:0 6px 20px rgba(0,0,0,0.18);
   
       /* Transition */
       --tr:0.2s ease;
   }
   
   /* 
      2. BODY & LAYOUT
       */
   body{
       font-family:Arial,sans-serif;
       background:var(--bg);
       color:var(--t);
       min-height:100vh;
       display:flex;
       flex-direction:column;
       line-height:1.5;
   }
   
   .wp-site-blocks{flex:1;display:flex;flex-direction:column}
   
   /* Container - centers content with max width */
   .container,
   .ns-container{
       max-width:var(--mw);
       width:100%;
       margin:0 auto;
       padding:0 24px;
   }
   
   /* 
      3. HEADER - Sticky dark navigation bar
       */
   .site-header{
       background:var(--n);
       position:sticky;
       top:0;
       z-index:1000;
       box-shadow:0 2px 5px rgba(0,0,0,0.4);
       width:100%;
   }
   
   .header-row{
       display:flex;
       align-items:center;
       justify-content:space-between;
       padding:12px 24px;
       max-width:var(--mw);
       margin:0 auto;
       gap:20px;
   }
   
   /* Logo styling */
   .logo a{color:#fff;font-size:26px;font-weight:800;text-decoration:none}
   .logo span{color:var(--o)}
   
   /* Search bar */
   .header-search{
       flex:1;
       max-width:600px;
       display:flex;
       border-radius:4px;
       overflow:hidden;
       border:2px solid var(--o);
   }
   .header-search select{background:#e3e6e6;border:none;padding:0 8px;font-size:12px;cursor:pointer}
   .header-search input{flex:1;border:none;padding:8px 12px;font-size:15px;outline:none}
   .header-search button{background:var(--o);border:none;padding:0 18px;cursor:pointer;font-size:18px}
   .header-search button:hover{background:var(--od)}
   
   /* Navigation links */
   .main-nav{display:flex;align-items:center;gap:4px}
   .main-nav a{
       color:#fff;
       text-decoration:none;
       font-size:14px;
       padding:8px 12px;
       border-radius:3px;
       border:1px solid transparent;
       white-space:nowrap;
       transition:all var(--tr);
   }
   .main-nav a:hover{border-color:#fff;color:var(--o)}
   
   /* Cart item count badge */
   .cart-count{
       background:var(--o);
       color:var(--n);
       font-size:11px;
       font-weight:800;
       border-radius:50%;
       width:18px;
       height:18px;
       display:inline-flex;
       align-items:center;
       justify-content:center;
   }
   
   /* 
      4. PAGE CONTENT - Full width fix
       */
   
   /* Remove WordPress default max-width constraints */
   .wp-block-group{max-width:none !important;padding:0}
   main,.wp-block-post-content{flex:1}
   .wp-block-post-content,
   .entry-content,
   .wp-block-group.is-layout-constrained>*,
   .is-layout-constrained>*{max-width:100% !important}
   
   /* HTML blocks go edge to edge */
   .wp-block-html{max-width:100% !important;width:100% !important;padding:0 !important;margin:0 !important}
   .wp-block-post-content{padding:0 !important;margin:0 !important}
   
   /* 
      5. HERO BANNER - Home page main banner
       */
   .ns-hero{
       background:linear-gradient(135deg,#1a2744 0%,#131921 60%);
       padding:80px 0 100px;
       text-align:center;
   }
   
   /* Orange pill badge above headline */
   .ns-hero-badge{
       display:inline-block;
       background:var(--o);
       color:var(--n);
       font-size:12px;
       font-weight:700;
       padding:4px 14px;
       border-radius:20px;
       margin-bottom:20px;
       letter-spacing:1px;
       text-transform:uppercase;
   }
   
   .ns-hero h1{
       font-size:clamp(2rem,5vw,3.5rem);
       font-weight:800;
       color:#fff;
       line-height:1.15;
       margin:0 auto 20px;
       max-width:800px;
   }
   .ns-hero h1 span{color:var(--o)}
   .ns-hero p{font-size:18px;color:#ccc;margin:0 auto 36px;max-width:560px}
   
   /* CTA button row */
   .ns-hero-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
   
   /* Reusable button styles */
   .ns-btn{
       display:inline-block;
       text-decoration:none;
       border-radius:25px;
       padding:13px 32px;
       font-size:15px;
       font-weight:700;
       cursor:pointer;
       border:2px solid transparent;
       transition:all var(--tr);
   }
   .ns-btn-primary{background:var(--o);color:var(--n);border-color:var(--o)}
   .ns-btn-primary:hover{background:var(--od);transform:translateY(-2px);box-shadow:0 6px 18px rgba(255,153,0,.35)}
   .ns-btn-outline{background:transparent;color:#fff;border-color:#fff}
   .ns-btn-outline:hover{background:#fff;color:var(--n);transform:translateY(-2px)}
   
   /* Stats row below CTA buttons */
   .ns-hero-stats{display:flex;gap:50px;justify-content:center;margin-top:50px;flex-wrap:wrap}
   .ns-hero-stat strong{display:block;font-size:28px;font-weight:800;color:var(--o)}
   .ns-hero-stat span{font-size:13px;color:#aaa}
   
   /* 
      6. TRUST BAR - Benefits strip below hero
       */
   .ns-trust-bar{background:#fff;border-bottom:1px solid var(--b);padding:16px 0}
   .ns-trust-bar .ns-container{
       display:flex;
       align-items:center;
       justify-content:space-around;
       gap:20px;
       flex-wrap:wrap;
   }
   .ns-trust-item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
   .ns-trust-icon{font-size:22px}
   
   /* 
      7. SECTIONS - Reusable section wrappers
       */
   .ns-section{padding:50px 0}
   .ns-section-bg-white{background:#fff}
   .ns-section-bg-gray{background:var(--bg)}
   .ns-section-bg-dark{background:var(--n)}
   
   /* Section header with orange left border accent */
   .ns-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
   .ns-section-header h2{font-size:26px;font-weight:700;position:relative;padding-left:14px}
   .ns-section-bg-dark .ns-section-header h2{color:#fff}
   .ns-section-header h2::before{
       content:'';
       position:absolute;
       left:0;top:4px;bottom:4px;
       width:4px;
       background:var(--o);
       border-radius:2px;
   }
   
   /* See all link */
   .ns-see-all{
       color:var(--nm);
       text-decoration:none;
       font-size:14px;
       font-weight:600;
       padding:6px 14px;
       border:1px solid var(--nm);
       border-radius:20px;
       transition:all var(--tr);
   }
   .ns-see-all:hover{background:var(--nm);color:#fff}
   .ns-section-bg-dark .ns-see-all{color:#ccc;border-color:#ccc}
   .ns-section-bg-dark .ns-see-all:hover{background:#ccc;color:var(--n)}
   
   /* 
      8. CATEGORY CARDS - 4 column browse grid
       */
   .ns-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
   
   .ns-category-card{
       background:#fff;
       border:1px solid var(--b);
       border-radius:var(--rad);
       overflow:hidden;
       text-align:center;
       text-decoration:none;
       color:var(--t);
       transition:all var(--tr);
       display:block;
       box-shadow:var(--sh);
   }
   .ns-category-card:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:var(--o)}
   .ns-category-card img{width:100%;height:180px;object-fit:cover;display:block}
   .ns-category-card-body{padding:16px}
   .ns-category-card h3{font-size:16px;font-weight:700;margin-bottom:6px}
   .ns-category-card p{font-size:13px;color:var(--tm);margin-bottom:12px}
   
   /* Orange pill count badge */
   .ns-chip{
       display:inline-block;
       background:var(--o);
       color:var(--n);
       font-size:12px;
       font-weight:700;
       padding:3px 10px;
       border-radius:12px;
   }
   
   /* 
      9. PRODUCT CARDS - Featured products grid
       */
   .ns-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
   
   .ns-product-card{
       background:#fff;
       border:1px solid var(--b);
       border-radius:var(--rad);
       overflow:hidden;
       display:flex;
       flex-direction:column;
       transition:all var(--tr);
       box-shadow:var(--sh);
       position:relative;
   }
   .ns-product-card:hover{transform:translateY(-4px);box-shadow:var(--shh);border-color:#ffa724}
   
   /* Sale/badge label top-left */
   .ns-product-badge{
       position:absolute;
       top:10px;left:10px;
       background:var(--r);
       color:#fff;
       font-size:11px;
       font-weight:700;
       padding:3px 8px;
       border-radius:4px;
       z-index:2;
   }
   
   .ns-product-card img{width:100%;height:200px;object-fit:cover;display:block;border-bottom:1px solid var(--b)}
   .ns-product-body{padding:14px;flex:1;display:flex;flex-direction:column;gap:6px}
   .ns-product-name{font-size:14px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
   .ns-product-rating{display:flex;align-items:center;gap:5px;font-size:13px}
   .ns-stars{color:var(--o);letter-spacing:1px}
   .ns-review-count{color:var(--nm);font-size:12px;text-decoration:underline;cursor:pointer}
   .ns-product-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
   .ns-price-current{font-size:20px;font-weight:800}
   .ns-price-original{font-size:13px;color:var(--tm);text-decoration:line-through}
   .ns-price-save{font-size:12px;color:var(--r);font-weight:600}
   .ns-delivery{font-size:12px;color:var(--tm)}
   .ns-in-stock{font-size:13px;color:var(--g);font-weight:600}
   
   /* Add to cart button */
   .ns-add-btn{
       margin-top:auto;
       background:var(--o);
       color:var(--n);
       border:none;
       padding:10px 0;
       width:100%;
       font-size:14px;
       font-weight:700;
       border-radius:6px;
       cursor:pointer;
       transition:background var(--tr);
       text-align:center;
       display:block;
       text-decoration:none;
   }
   .ns-add-btn:hover{background:var(--od)}
   
   /* 
      10. DEALS SECTION - Dark background deals
       */
   .ns-deals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
   
   .ns-deal-card{
       background:var(--nm);
       border:1px solid #37475a;
       border-radius:var(--rad);
       overflow:hidden;
       transition:all var(--tr);
   }
   .ns-deal-card:hover{border-color:var(--o);transform:translateY(-3px)}
   .ns-deal-card img{width:100%;height:180px;object-fit:cover}
   .ns-deal-body{padding:16px}
   .ns-deal-badge{display:inline-block;background:var(--r);color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:3px;margin-bottom:8px}
   .ns-deal-body h3{color:#fff;font-size:16px;margin-bottom:6px}
   .ns-deal-prices{display:flex;align-items:center;gap:10px;margin-bottom:12px}
   .ns-deal-price-new{font-size:22px;font-weight:800;color:var(--o)}
   .ns-deal-price-old{font-size:14px;color:#888;text-decoration:line-through}
   
   /* Urgency progress bar */
   .ns-deal-progress{background:#1e2e3e;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}
   .ns-deal-progress-bar{height:100%;background:var(--o);border-radius:3px}
   .ns-deal-claimed{font-size:12px;color:#ff6b35;font-weight:600}
   .ns-deal-btn{display:block;text-align:center;background:var(--o);color:var(--n);font-weight:700;padding:10px;border-radius:6px;text-decoration:none;margin-top:12px;font-size:14px;transition:background var(--tr)}
   .ns-deal-btn:hover{background:var(--od)}
   
   /* 
      11. BLOG PREVIEW - Home page blog section
       */
   .ns-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
   
   .ns-blog-card{
       border:1px solid var(--b);
       border-radius:var(--rad);
       overflow:hidden;
       transition:all var(--tr);
       text-decoration:none;
       color:var(--t);
       display:block;
       background:#fff;
   }
   .ns-blog-card:hover{transform:translateY(-4px);box-shadow:var(--shh)}
   .ns-blog-card img{width:100%;height:190px;object-fit:cover;display:block}
   .ns-blog-body{padding:16px}
   .ns-blog-tag{
       display:inline-block;
       background:#e8f0fe;
       color:var(--nm);
       font-size:11px;
       font-weight:700;
       padding:2px 8px;
       border-radius:10px;
       margin-bottom:8px;
       text-transform:uppercase;
   }
   .ns-blog-card h3{font-size:16px;font-weight:700;margin-bottom:8px;line-height:1.4}
   .ns-blog-card p{font-size:13px;color:var(--tm);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
   .ns-blog-meta{font-size:12px;color:#888;display:flex;gap:12px}
   
   /* 
      12. BENEFITS - Why choose us section
       */
   .ns-benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
   
   .ns-benefit-card{
       background:#fff;
       border:1px solid var(--b);
       border-radius:var(--rad);
       padding:28px 20px;
       text-align:center;
       transition:all var(--tr);
       box-shadow:var(--sh);
   }
   .ns-benefit-card:hover{border-color:var(--o);transform:translateY(-3px);box-shadow:var(--shh)}
   .ns-benefit-icon{font-size:38px;margin-bottom:14px;display:block}
   .ns-benefit-card h3{font-size:16px;font-weight:700;margin-bottom:8px}
   .ns-benefit-card p{font-size:13px;color:var(--tm);line-height:1.6}
   
   /* 
      13. NEWSLETTER - Email signup CTA section
       */
   .ns-newsletter{
       background:linear-gradient(135deg,var(--nm),var(--n));
       padding:60px 0;
       text-align:center;
   }
   .ns-newsletter-inner{max-width:580px;margin:0 auto}
   .ns-newsletter h2{font-size:28px;font-weight:800;color:#fff;margin-bottom:12px}
   .ns-newsletter p{font-size:16px;color:#ccc;margin-bottom:28px}
   
   /* Email input + button row */
   .ns-newsletter-form{
       display:flex;
       border-radius:6px;
       overflow:hidden;
       box-shadow:0 4px 15px rgba(0,0,0,0.3);
   }
   .ns-newsletter-form input{flex:1;padding:14px 18px;border:none;font-size:15px;outline:none}
   .ns-newsletter-form button{
       background:var(--o);
       color:var(--n);
       border:none;
       padding:14px 28px;
       font-size:15px;
       font-weight:700;
       cursor:pointer;
       transition:background var(--tr);
       white-space:nowrap;
   }
   .ns-newsletter-form button:hover{background:var(--od)}
   .ns-newsletter-note{font-size:12px;color:#888;margin-top:12px}
   
   /* 
      14. FOOTER - 4 column dark footer
       */
   .site-footer{background:var(--n);color:#fff;padding:0;margin-top:auto;width:100%}
   
   /* Back to top bar */
   .footer-top{
       background:var(--ln);
       text-align:center;
       padding:14px;
       font-size:13px;
       color:#ccc;
       cursor:pointer;
   }
   
   /* 4 column grid layout */
   .footer-grid{
       display:grid;
       grid-template-columns:2fr 1fr 1fr 1fr;
       gap:40px;
       padding:40px 24px;
       max-width:var(--mw);
       margin:0 auto;
   }
   
   .footer-col h3{font-size:16px;font-weight:700;margin-bottom:14px}
   .footer-col h4{font-size:14px;font-weight:700;margin-bottom:12px}
   .footer-col p{font-size:13px;color:#aaa;line-height:1.7}
   .footer-col ul{list-style:none}
   .footer-col li{margin-bottom:8px}
   .footer-col a{color:#aaa;text-decoration:none;font-size:13px;transition:color var(--tr)}
   .footer-col a:hover{color:#fff;text-decoration:underline}
   .footer-logo-text{font-size:24px;font-weight:800;color:#fff;margin-bottom:10px}
   .footer-logo-text span{color:var(--o)}
   
   /* Social icon circles */
   .footer-social{display:flex;gap:10px;margin-top:16px}
   .footer-social a{
       width:36px;height:36px;
       border:1px solid #444;
       border-radius:50%;
       display:flex;
       align-items:center;
       justify-content:center;
       color:#aaa !important;
       font-size:16px;
       text-decoration:none !important;
       transition:all var(--tr);
   }
   .footer-social a:hover{border-color:var(--o);color:var(--o) !important}
   
   /* Copyright bottom bar */
   .footer-bottom{
       border-top:1px solid #2e3a47;
       padding:16px 24px;
       max-width:var(--mw);
       margin:0 auto;
       display:flex;
       align-items:center;
       justify-content:space-between;
       gap:20px;
       flex-wrap:wrap;
   }
   .copyright{font-size:13px;color:#888;margin:0}
   .footer-bottom-links{display:flex;gap:16px}
   .footer-bottom-links a{color:#888;font-size:12px;text-decoration:none}
   .footer-bottom-links a:hover{color:#fff}
   
   /* 
      15. BLOG ARCHIVE PAGE - Post card grid
       */
   
   /* 3 column card grid */
   .blog-grid{
       display:grid;
       grid-template-columns:repeat(3,1fr);
       gap:28px;
       width:100%;
   }
   
   /* Individual blog post card */
   .blog-card{
       background:#fff;
       border:1px solid var(--b);
       border-radius:10px;
       overflow:hidden;
       box-shadow:0 2px 10px rgba(0,0,0,0.08);
       transition:all 0.25s ease;
       display:flex;
       flex-direction:column;
   }
   .blog-card:hover{
       transform:translateY(-5px);
       box-shadow:0 10px 28px rgba(0,0,0,0.14);
       border-color:var(--o);
   }
   
   /* Card featured image with zoom on hover */
   .blog-card .wp-block-post-featured-image{overflow:hidden}
   .blog-card .wp-block-post-featured-image img{
       width:100% !important;
       height:220px !important;
       object-fit:cover !important;
       display:block !important;
       transition:transform 0.3s ease !important;
   }
   .blog-card:hover .wp-block-post-featured-image img{
       transform:scale(1.05) !important;
   }
   
   /* Card text content area */
   .blog-card-body{
       padding:20px;
       flex:1;
       display:flex;
       flex-direction:column;
       gap:10px;
   }
   
   /* Category pill tag */
   .blog-card .wp-block-post-terms a{
       display:inline-block !important;
       background:#e8f0fe !important;
       color:var(--nm) !important;
       font-size:11px !important;
       font-weight:700 !important;
       padding:3px 10px !important;
       border-radius:12px !important;
       text-decoration:none !important;
       text-transform:uppercase !important;
       letter-spacing:0.5px !important;
   }
   
   /* Post title */
   .blog-card .wp-block-post-title{
       font-size:17px !important;
       font-weight:700 !important;
       line-height:1.4 !important;
       margin:0 !important;
   }
   .blog-card .wp-block-post-title a{
       color:var(--t) !important;
       text-decoration:none !important;
       transition:color 0.2s !important;
   }
   .blog-card .wp-block-post-title a:hover{color:var(--o) !important}
   
   /* Post excerpt */
   .blog-card .wp-block-post-excerpt p{
       font-size:13px !important;
       color:var(--tm) !important;
       line-height:1.7 !important;
       margin:0 !important;
   }
   .blog-card .wp-block-post-excerpt__more-link{
       color:var(--o) !important;
       font-weight:700 !important;
       text-decoration:none !important;
       font-size:13px !important;
   }
   
   /* Date + meta row */
   .blog-card-meta{
       display:flex;
       align-items:center;
       gap:12px;
       padding-top:12px;
       border-top:1px solid #f0f0f0;
       margin-top:auto;
   }
   .blog-card .wp-block-post-date{
       font-size:12px !important;
       color:#888 !important;
   }
   
   /* Pagination buttons */
   .wp-block-query-pagination{
       display:flex !important;
       justify-content:center !important;
       gap:8px !important;
       margin-top:48px !important;
       grid-column:1/-1 !important;
   }
   .wp-block-query-pagination a,
   .wp-block-query-pagination span{
       padding:8px 16px !important;
       border:1px solid var(--b) !important;
       border-radius:6px !important;
       font-size:14px !important;
       color:var(--n) !important;
       text-decoration:none !important;
       background:#fff !important;
       font-weight:600 !important;
   }
   .wp-block-query-pagination a:hover{
       background:var(--o) !important;
       border-color:var(--o) !important;
   }
   
   /* 
      16. SINGLE POST - Article typography
       */
   
   /* Post content headings */
   .single-post-content h2{
       font-size:22px;
       font-weight:700;
       color:var(--t);
       margin:32px 0 16px;
       padding-left:14px;
       border-left:4px solid var(--o);
       line-height:1.3;
   }
   .single-post-content h3{
       font-size:18px;
       font-weight:700;
       color:var(--t);
       margin:24px 0 12px;
   }
   
   /* Paragraph body text */
   .single-post-content p{
       font-size:16px;
       line-height:1.85;
       color:#333;
       margin-bottom:20px;
   }
   
   /* Lists */
   .single-post-content ul,
   .single-post-content ol{
       padding-left:24px;
       margin-bottom:20px;
   }
   .single-post-content ul li,
   .single-post-content ol li{
       font-size:15px;
       line-height:1.8;
       color:#444;
       margin-bottom:8px;
   }
   
   /* Images inside post */
   .single-post-content img{
       width:100%;
       border-radius:8px;
       margin:20px 0;
   }


/* 
   18. STUDENT REVIEWS - Query Loop Block
   Custom post type cards on homepage
    */

/* Reviews section wrapper */
.student-reviews-section .wp-block-query {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
}

/* Each review card */
.student-reviews-section .wp-block-post {
    background: #232f3e !important;
    border: 1px solid #37475a !important;
    border-radius: 10px !important;
    padding: 24px !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

.student-reviews-section .wp-block-post:hover {
    border-color: #ff9900 !important;
    transform: translateY(-3px) !important;
}

/* Review title */
.student-reviews-section .wp-block-post-title {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.student-reviews-section .wp-block-post-title a {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Review excerpt */
.student-reviews-section .wp-block-post-excerpt p {
    color: #aaaaaa !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.student-reviews-section .wp-block-post-excerpt__more-link {
    color: #ff9900 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Responsive */
@media(max-width: 768px) {
    .student-reviews-section .wp-block-query {
        grid-template-columns: 1fr !important;
    }
}
   
   /* 
      17. RESPONSIVE BREAKPOINTS
       */
   
   /* Tablet - 900px */
   @media(max-width:900px){
       /* Navigation wraps */
       .header-row{flex-wrap:wrap;gap:12px}
       .header-search{max-width:100%;order:3;flex:1 1 100%}
   
       /* Grids go 2 column */
       .ns-category-grid{grid-template-columns:repeat(2,1fr)}
       .ns-benefits-grid{grid-template-columns:repeat(2,1fr)}
       .blog-grid{grid-template-columns:repeat(2,1fr) !important;gap:20px !important}
   
       /* Footer 2 column */
       .footer-grid{grid-template-columns:1fr 1fr}
   }
   
   /* Tablet smaller - 768px */
   @media(max-width:768px){
       .ns-deals-grid{grid-template-columns:1fr}
       .ns-blog-grid{grid-template-columns:1fr}
       .footer-grid{grid-template-columns:1fr 1fr}
   
       /* Hero adjustments */
       .ns-hero{padding:60px 0 80px}
       .ns-hero-stats{gap:30px}
   }
   
   /* Mobile - 600px */
   @media(max-width:600px){
       /* Single column everything */
       .ns-category-grid{grid-template-columns:1fr}
       .ns-product-grid{grid-template-columns:1fr}
       .ns-deals-grid{grid-template-columns:1fr}
       .blog-grid{grid-template-columns:1fr !important}
       .footer-grid{grid-template-columns:1fr}
   
       /* Smaller text */
       .ns-hero h1{font-size:1.8rem}
       .ns-hero p{font-size:15px}
       .ns-newsletter-form{flex-direction:column}
       .ns-newsletter-form button{width:100%}
   
       /* Footer bottom stacks */
       .footer-bottom{flex-direction:column;text-align:center}
       .header-search{order:3;flex:1 1 100%}
   }
   
   
   
   /* Mobile small - 480px */
   @media(max-width:480px){
       .ns-hero-stats{flex-direction:column;gap:16px}
       .ns-hero-buttons{flex-direction:column;align-items:center}
       .ns-trust-bar .ns-container{flex-direction:column;align-items:flex-start;gap:14px}
   }



   /* 
   18. STUDENT REVIEWS - Archive Page
   Query Loop styled for custom post type
    */

/* Dark background for reviews page */
.wp-block-query:has(.review-card) {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
}

/* Review card dark style */
.review-card {
    background: #232f3e !important;
    border: 1px solid #37475a !important;
    border-radius: 10px !important;
    padding: 24px !important;
    transition: all 0.2s ease !important;
}

.review-card:hover {
    border-color: #ff9900 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
}

/* Title white color */
.review-card .wp-block-post-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    padding: 0 !important;
}

.review-card .wp-block-post-title a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.review-card .wp-block-post-title a:hover {
    color: #ff9900 !important;
}

/* Excerpt grey text */
.review-card .wp-block-post-excerpt p {
    color: #aaaaaa !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

.review-card .wp-block-post-excerpt__more-link {
    color: #ff9900 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: block !important;
    margin-top: 10px !important;
}

/* Responsive */
@media(max-width:900px) {
    .wp-block-query:has(.review-card) {
        grid-template-columns: repeat(2,1fr) !important;
    }
}

@media(max-width:600px) {
    .wp-block-query:has(.review-card) {
        grid-template-columns: 1fr !important;
    }
}

/* WooCommerce edge fixes */
.woocommerce-page .woocommerce,
.woocommerce-page.woocommerce {
    padding: 40px 24px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button {
    background: #ff9900 !important;
    color: #131921 !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    border: none !important;
}

.woocommerce-page h1.woocommerce-page-title {
    padding: 0 0 0 14px !important;
    border-left: 4px solid #ff9900 !important;
    margin-bottom: 24px !important;
}

/* Fix WooCommerce header footer full width */
.woocommerce-page .site-header{
    width:100% !important;
    left:0 !important;
    right:0 !important;
}
.woocommerce-page body{
    padding:0 !important;
    margin:0 !important;
}