/*
 Theme Name:   MA Shop
 Theme URI:    https://shop.cpmakers.net
 Description:  C&P Management Academy - Shop Theme (child of Astra)
 Author:       C&P Management Academy
 Author URI:   https://www.managementacademy.it
 Template:     astra
 Version:      1.0.0
 Text Domain:  ma-shop
*/

:root {
  --ma-primary: #022049;
  --ma-accent: #2659F0;
  --ma-accent-hover: #1E4FD8;
  --ma-light-bg: #F6F8FF;
  --ma-white: #FFFFFF;
  --ma-cta-promo: #F59E0B;
  --ma-success: #10B981;
  --ma-body-text: #334155;
  --ma-muted: #64748b;
  --ma-border: #e8ecf4;
  --ma-danger: #EF4444;
  --ma-font-heading: 'Merriweather', Georgia, serif;
  --ma-font-body: 'Open Sans', 'Helvetica Neue', sans-serif;
  --ma-font-accent: 'Barlow', sans-serif;
  --ma-radius: 16px;
  --ma-radius-sm: 8px;
  --ma-shadow: 0 4px 24px rgba(2, 32, 73, 0.08);
  --ma-shadow-hover: 0 8px 32px rgba(2, 32, 73, 0.14);
}

body {
  font-family: var(--ma-font-body);
  color: var(--ma-body-text);
  background: var(--ma-white);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ma-font-heading);
  color: var(--ma-primary);
}

a { color: var(--ma-accent); transition: color 0.2s ease; }
a:hover { color: var(--ma-accent-hover); }

/* TOP BAR */
.ma-top-bar {
  background: var(--ma-primary);
  color: white;
  padding: 8px 24px;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--ma-font-body);
}
.ma-top-bar a { color: rgba(255,255,255,0.8); text-decoration: none; }
.ma-top-bar a:hover { color: white; }

/* NAVIGATION */
.main-header-bar {
  border-bottom: 1px solid var(--ma-border) !important;
  box-shadow: none !important;
}
.main-navigation a {
  font-family: var(--ma-font-body) !important;
  font-size: 14px !important;
  color: var(--ma-body-text) !important;
  font-weight: 500 !important;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  color: var(--ma-accent) !important;
}

/* BUTTONS */
.ma-btn-primary,
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt {
  background: var(--ma-accent) !important;
  color: white !important;
  border: none !important;
  border-radius: var(--ma-radius-sm) !important;
  font-weight: 600 !important;
  font-family: var(--ma-font-body) !important;
  padding: 12px 28px !important;
  box-shadow: 0 4px 12px rgba(38, 89, 240, 0.3) !important;
  transition: all 0.2s ease !important;
}
.woocommerce .button.alt:hover {
  background: var(--ma-accent-hover) !important;
  box-shadow: 0 6px 16px rgba(38, 89, 240, 0.4) !important;
}
.ma-btn-dark { background: var(--ma-primary); color: white; border: none; border-radius: var(--ma-radius-sm); font-weight: 600; padding: 12px 28px; }
.ma-btn-outline { background: transparent; color: var(--ma-accent); border: 2px solid var(--ma-accent); border-radius: var(--ma-radius-sm); font-weight: 600; padding: 10px 28px; }
.ma-btn-promo { background: var(--ma-cta-promo); color: white; border: none; border-radius: var(--ma-radius-sm); font-weight: 600; padding: 12px 28px; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3); }

/* BADGES */
.ma-badge { padding: 5px 14px; border-radius: 20px; font-size: 12px; font-weight: 600; display: inline-block; }
.ma-badge-sconto { background: var(--ma-success); color: white; }
.ma-badge-bundle { background: var(--ma-danger); color: white; }
.ma-badge-nuovo { background: var(--ma-cta-promo); color: white; }
.ma-badge-certificato { background: var(--ma-primary); color: white; }
.ma-badge-bestseller { background: var(--ma-accent); color: white; }

/* PRODUCT CARDS */
.woocommerce ul.products li.product {
  border-radius: var(--ma-radius);
  overflow: hidden;
  box-shadow: var(--ma-shadow);
  border: 1px solid var(--ma-border);
  transition: all 0.3s ease;
  background: white;
}
.woocommerce ul.products li.product:hover {
  box-shadow: var(--ma-shadow-hover);
  transform: translateY(-4px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--ma-font-heading);
  font-size: 16px;
  color: var(--ma-primary);
  padding: 16px 16px 8px;
}
.woocommerce ul.products li.product .price {
  color: var(--ma-primary);
  font-weight: 700;
  font-size: 18px;
  padding: 0 16px;
}
.woocommerce ul.products li.product .price del { color: var(--ma-muted); font-weight: 400; }
.woocommerce ul.products li.product .button {
  margin: 16px !important;
  width: calc(100% - 32px) !important;
  text-align: center !important;
}

/* TIER SELECTOR */
.ma-tier-selector { display: flex; flex-direction: column; gap: 12px; margin: 20px 0; }
.ma-tier-option {
  display: flex; align-items: center; gap: 14px; padding: 16px;
  border: 2px solid var(--ma-border); border-radius: 12px; cursor: pointer; transition: all 0.2s ease;
}
.ma-tier-option:hover { border-color: var(--ma-accent); background: rgba(38, 89, 240, 0.03); }
.ma-tier-option.selected { border-color: var(--ma-accent); background: #EFF6FF; }
.ma-tier-option.selected.tier-fast-track { border-color: var(--ma-cta-promo); background: #FFFBEB; }
.ma-tier-name { font-weight: 600; color: var(--ma-primary); font-size: 15px; }
.ma-tier-desc { font-size: 12px; color: var(--ma-muted); }
.ma-tier-price { font-weight: 700; color: var(--ma-primary); font-size: 18px; margin-left: auto; }
.ma-tier-badge { font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 10px; color: white; }
.ma-tier-badge-recommended { background: var(--ma-accent); }
.ma-tier-badge-premium { background: var(--ma-cta-promo); }

/* ACCESSORIES */
.ma-accessories { margin-top: 20px; padding-top: 20px; border-top: 1px solid #f1f5f9; }
.ma-accessories-title { font-size: 13px; font-weight: 600; color: var(--ma-muted); margin-bottom: 10px; letter-spacing: 1px; text-transform: uppercase; }
.ma-accessory-item {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px;
  border: 1px solid var(--ma-border); border-radius: var(--ma-radius-sm);
  cursor: pointer; font-size: 14px; margin-bottom: 8px; transition: border-color 0.2s;
}
.ma-accessory-item:hover { border-color: var(--ma-accent); }
.ma-accessory-price { font-weight: 600; color: var(--ma-primary); margin-left: auto; }

/* TRUST BAR */
.ma-trust-bar {
  background: var(--ma-primary); padding: 32px 24px; display: flex;
  justify-content: space-around; flex-wrap: wrap; gap: 24px; border-radius: var(--ma-radius);
}
.ma-trust-item { text-align: center; color: white; }
.ma-trust-value { font-size: 32px; font-weight: 700; }
.ma-trust-label { font-size: 13px; opacity: 0.7; margin-top: 4px; }

/* FOOTER */
.site-footer { background: var(--ma-primary) !important; color: white !important; }
.site-footer a { color: rgba(255,255,255,0.6) !important; }
.site-footer a:hover { color: white !important; }
.ma-footer-social a {
  width: 34px; height: 34px; background: rgba(255,255,255,0.1); border-radius: var(--ma-radius-sm);
  display: inline-flex; align-items: center; justify-content: center;
  color: white !important; text-decoration: none; margin-right: 8px; transition: background 0.2s;
}
.ma-footer-social a:hover { background: rgba(255,255,255,0.2); }

/* WOOCOMMERCE OVERRIDES */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { background: var(--ma-accent) !important; border-radius: var(--ma-radius-sm) !important; font-weight: 600 !important; }
.woocommerce-checkout #payment #place_order { background: var(--ma-accent) !important; border-radius: var(--ma-radius-sm) !important; font-weight: 600 !important; font-size: 16px !important; padding: 14px 28px !important; }
.woocommerce-message { border-top-color: var(--ma-success) !important; }
.woocommerce-info { border-top-color: var(--ma-accent) !important; }
.woocommerce .woocommerce-breadcrumb { font-size: 13px; color: var(--ma-muted); padding: 12px 0; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ma-muted); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--ma-primary); font-size: 24px; font-weight: 700; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ma-accent); }

/* HOMEPAGE LAYOUT FIX - force vertical stacking */
#ma-homepage {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

#ma-homepage > div,
#ma-homepage > section {
  width: 100% !important;
  max-width: 100% !important;
  flex-shrink: 0 !important;
}

/* Override Astra flex containers on homepage */
body.home .site-content > .ast-container,
body.home #primary,
body.home .site-main,
body.home .entry-content {
  display: block !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.home .ast-container {
  display: block !important;
}

body.page-template-page-home-php .site-content,
body.page-template-page-home-php #primary,
body.page-template-page-home-php .site-main {
  display: block !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* HOMEPAGE FULL-WIDTH OVERRIDES */
.page-template-page-builder-template .entry-content > div,
.ast-page-builder-template .entry-content > div {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

.page-template-page-builder-template .entry-content,
.ast-page-builder-template .entry-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-template-page-builder-template #primary,
.ast-page-builder-template #primary {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-template-page-builder-template .ast-container,
.ast-page-builder-template .ast-container {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Force full-width on home page hero and sections */
body.home .entry-content > div {
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

body.home .entry-content {
  overflow: hidden;
}

/* WooCommerce shortcode products on homepage */
body.home .woocommerce ul.products {
  max-width: 1200px;
  margin: 0 auto;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .ma-top-bar { font-size: 11px; padding: 6px 16px; }
  .woocommerce ul.products[class*="columns-"] li.product { width: 48% !important; }
}
@media (max-width: 768px) {
  .ma-top-bar { flex-direction: column; gap: 4px; text-align: center; }
  .woocommerce ul.products[class*="columns-"] li.product { width: 100% !important; }
  .ma-trust-bar { flex-direction: column; gap: 16px; }
  .ma-tier-selector { gap: 8px; }
}
