/* Edwiser Store - Base Styles */
/* Global styles and Moodle container overrides */

/* Apply font family to store pages — includes modals appended to body */
body[id^='page-local-edwiserstore'] .modal,
body[id^='page-local-edwiserstore'] .modal input,
body[id^='page-local-edwiserstore'] .modal select,
body[id^='page-local-edwiserstore'] .modal textarea,
body[id^='page-local-edwiserstore'] .modal button {
  font-family: var(--edw-font-family, inherit);
}

/* Apply font family to store content only (not Moodle chrome) */
.local-edwiserstore-dashboard-layout,
.local-edwiserstore-dashboard,
.local-edwiserstore-shop-page,
.local-edwiserstore-product-view-page,
.local-edwiserstore-cart-page,
.local-edwiserstore-checkout-page,
.local-edwiserstore-thankyou-page,
.local-edwiserstore-myorders-page,
.local-edwiserstore-mysubscriptions-page,
.local-edwiserstore-orders-page,
.local-edwiserstore-subscriptions-page,
.local-edwiserstore-coupons-page,
.local-edwiserstore-general-settings,
.local-edwiserstore-shop-settings,
.local-edwiserstore-payment-settings,
.local-edwiserstore-email-templates {
  font-family: var(--edw-font-family, inherit);
}

/* Force form elements to inherit the store font */
.local-edwiserstore-dashboard-layout input,
.local-edwiserstore-dashboard-layout select,
.local-edwiserstore-dashboard-layout textarea,
.local-edwiserstore-dashboard-layout button,
.local-edwiserstore-cart-page input,
.local-edwiserstore-cart-page select,
.local-edwiserstore-cart-page textarea,
.local-edwiserstore-cart-page button,
.local-edwiserstore-checkout-page input,
.local-edwiserstore-checkout-page select,
.local-edwiserstore-checkout-page textarea,
.local-edwiserstore-checkout-page button,
.local-edwiserstore-shop-page input,
.local-edwiserstore-shop-page select,
.local-edwiserstore-shop-page button,
.local-edwiserstore-product-view-page input,
.local-edwiserstore-product-view-page select,
.local-edwiserstore-product-view-page button,
.local-edwiserstore-myorders-page input,
.local-edwiserstore-myorders-page select,
.local-edwiserstore-myorders-page button,
.local-edwiserstore-mysubscriptions-page input,
.local-edwiserstore-mysubscriptions-page select,
.local-edwiserstore-mysubscriptions-page button {
  font-family: inherit;
}

/* Override Moodle container for full-width layout - MUST BE FIRST */

#page-local-edwiserstore-dashboard #topofscroll,
#page-local-edwiserstore-products #topofscroll,
#page-local-edwiserstore-orders #topofscroll,
#page-local-edwiserstore-subscriptions #topofscroll,
#page-local-edwiserstore-coupons #topofscroll,
#page-local-edwiserstore-reviews #topofscroll,
#page-local-edwiserstore-shopsettings #topofscroll,
#page-local-edwiserstore-paymentsettings #topofscroll,
#page-local-edwiserstore-emailtemplates #topofscroll,
#page-local-edwiserstore-licensesettings #topofscroll,
#page-local-edwiserstore-generalsettings #topofscroll,
#page-local-edwiserstore-shop #topofscroll,
#page-local-edwiserstore-productview #topofscroll,
#page-local-edwiserstore-cart #topofscroll,
#page-local-edwiserstore-checkout #topofscroll,
#page-local-edwiserstore-myorders #topofscroll,
#page-local-edwiserstore-mysubscriptions #topofscroll {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#page-local-edwiserstore-dashboard #topofscroll > .container,
#page-local-edwiserstore-products #topofscroll > .container,
#page-local-edwiserstore-orders #topofscroll > .container,
#page-local-edwiserstore-subscriptions #topofscroll > .container,
#page-local-edwiserstore-coupons #topofscroll > .container,
#page-local-edwiserstore-reviews #topofscroll > .container,
#page-local-edwiserstore-shopsettings #topofscroll > .container,
#page-local-edwiserstore-paymentsettings #topofscroll > .container,
#page-local-edwiserstore-emailtemplates #topofscroll > .container,
#page-local-edwiserstore-licensesettings #topofscroll > .container,
#page-local-edwiserstore-generalsettings #topofscroll > .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Shop page container - full width with background */
#page-local-edwiserstore-shop #topofscroll > .container,
#page-local-edwiserstore-productview #topofscroll > .container,
#page-local-edwiserstore-cart #topofscroll > .container,
#page-local-edwiserstore-myorders #topofscroll > .container,
#page-local-edwiserstore-mysubscriptions #topofscroll > .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  background: #f5f8ff !important;
}

/* Shop page main content area - same background */
#page-local-edwiserstore-shop #topofscroll > .container #page-header {
  margin-left: 32px;
  margin-right: 32px;
}

#page-local-edwiserstore-productview #topofscroll > .container #page-header,
#page-local-edwiserstore-cart #topofscroll > .container #page-header,
#page-local-edwiserstore-myorders #topofscroll > .container #page-header,
#page-local-edwiserstore-mysubscriptions
  #topofscroll
  > .container
  #page-header {
  display: none !important;
}

#page-local-edwiserstore-productview #topofscroll > .container #page-content,
#page-local-edwiserstore-cart #topofscroll > .container #page-content,
#page-local-edwiserstore-myorders #topofscroll > .container #page-content,
#page-local-edwiserstore-mysubscriptions
  #topofscroll
  > .container
  #page-content {
  padding-bottom: 0 !important;
}

#page-local-edwiserstore-shop #topofscroll > .container div[role='main'],
#page-local-edwiserstore-productview #topofscroll > .container div[role='main'],
#page-local-edwiserstore-cart #topofscroll > .container div[role='main'],
#page-local-edwiserstore-checkout #topofscroll > .container div[role='main'] {
  background: #f5f8ff !important;
}

#page-local-edwiserstore-dashboard #topofscroll > .container .page-content,
#page-local-edwiserstore-products #topofscroll > .container .page-content,
#page-local-edwiserstore-orders #topofscroll > .container .page-content,
#page-local-edwiserstore-subscriptions #topofscroll > .container .page-content,
#page-local-edwiserstore-coupons #topofscroll > .container .page-content,
#page-local-edwiserstore-reviews #topofscroll > .container .page-content,
#page-local-edwiserstore-shopsettings #topofscroll > .container .page-content,
#page-local-edwiserstore-paymentsettings
  #topofscroll
  > .container
  .page-content,
#page-local-edwiserstore-emailtemplates #topofscroll > .container .page-content,
#page-local-edwiserstore-licensesettings
  #topofscroll
  > .container
  .page-content,
#page-local-edwiserstore-generalsettings
  #topofscroll
  > .container
  .page-content {
  padding-bottom: 0 !important;
}

#page-local-edwiserstore-dashboard #topofscroll > .container div[role='main'],
#page-local-edwiserstore-products #topofscroll > .container div[role='main'],
#page-local-edwiserstore-orders #topofscroll > .container div[role='main'],
#page-local-edwiserstore-subscriptions
  #topofscroll
  > .container
  div[role='main'],
#page-local-edwiserstore-coupons #topofscroll > .container div[role='main'],
#page-local-edwiserstore-reviews #topofscroll > .container div[role='main'],
#page-local-edwiserstore-shopsettings
  #topofscroll
  > .container
  div[role='main'],
#page-local-edwiserstore-paymentsettings
  #topofscroll
  > .container
  div[role='main'],
#page-local-edwiserstore-emailtemplates
  #topofscroll
  > .container
  div[role='main'],
#page-local-edwiserstore-licensesettings
  #topofscroll
  > .container
  div[role='main'],
#page-local-edwiserstore-generalsettings
  #topofscroll
  > .container
  div[role='main'] {
  margin-top: 0 !important;
  padding: 0 !important;
}

/* Hide page heading - menu should start directly below header */
#page-local-edwiserstore-dashboard h1,
#page-local-edwiserstore-dashboard h2,
#page-local-edwiserstore-dashboard .page-header-headings,
#page-local-edwiserstore-dashboard #page-header,
#page-local-edwiserstore-products h1,
#page-local-edwiserstore-products h2,
#page-local-edwiserstore-products .page-header-headings,
#page-local-edwiserstore-products #page-header,
#page-local-edwiserstore-orders h1,
#page-local-edwiserstore-orders h2,
#page-local-edwiserstore-orders .page-header-headings,
#page-local-edwiserstore-orders #page-header,
#page-local-edwiserstore-subscriptions h1,
#page-local-edwiserstore-subscriptions h2,
#page-local-edwiserstore-subscriptions .page-header-headings,
#page-local-edwiserstore-subscriptions #page-header,
#page-local-edwiserstore-coupons h1,
#page-local-edwiserstore-coupons .page-header-headings h2,
#page-local-edwiserstore-coupons .page-header-headings,
#page-local-edwiserstore-coupons #page-header,
#page-local-edwiserstore-reviews h1,
#page-local-edwiserstore-reviews h2,
#page-local-edwiserstore-reviews .page-header-headings,
#page-local-edwiserstore-reviews #page-header,
#page-local-edwiserstore-shopsettings h1,
#page-local-edwiserstore-shopsettings h2,
#page-local-edwiserstore-shopsettings .page-header-headings,
#page-local-edwiserstore-shopsettings #page-header,
#page-local-edwiserstore-paymentsettings h1,
#page-local-edwiserstore-paymentsettings h2,
#page-local-edwiserstore-paymentsettings .page-header-headings,
#page-local-edwiserstore-paymentsettings #page-header,
#page-local-edwiserstore-emailtemplates h1,
#page-local-edwiserstore-emailtemplates h2,
#page-local-edwiserstore-emailtemplates .page-header-headings,
#page-local-edwiserstore-emailtemplates #page-header,
#page-local-edwiserstore-licensesettings h1,
#page-local-edwiserstore-licensesettings h2,
#page-local-edwiserstore-licensesettings .page-header-headings,
#page-local-edwiserstore-licensesettings #page-header,
#page-local-edwiserstore-generalsettings h1,
#page-local-edwiserstore-generalsettings h2,
#page-local-edwiserstore-generalsettings .page-header-headings,
#page-local-edwiserstore-generalsettings #page-header,
#page-local-edwiserstore-checkout #page-header {
  display: none !important;
}

/* Global form fixes */
.form-group .form-check {
  padding-left: 0 !important;
}

.form-check-input[type='radio'] {
  margin-left: 0 !important;
}

/* Fix Bootstrap radio button solid-fill override for all Edwiser Store pages */
[id^='page-local-edwiserstore'] .form-check-input[type='radio'] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  border: 2px solid #c4c4c4 !important;
  border-radius: 50% !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  padding: 0 !important;
}

[id^='page-local-edwiserstore'] .form-check-input[type='radio']::before,
[id^='page-local-edwiserstore'] .form-check-input[type='radio']::after {
  content: none !important;
}

[id^='page-local-edwiserstore'] .form-check-input[type='radio']:checked {
  border-color: var(--edw-primary) !important;
  background-color: #fff !important;
  background-image: none !important;
}

[id^='page-local-edwiserstore'] .form-check-input[type='radio']:checked::after {
  content: '' !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--edw-primary);
}

/* Fix Bootstrap checkbox override for all Edwiser Store pages */
/* Excludes .form-switch checkboxes (e.g. Moodle Edit mode toggle) */
[id^='page-local-edwiserstore'] .form-check:not(.form-switch) .form-check-input[type='checkbox'] {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border: 2px solid #c4c4c4 !important;
  border-radius: 5px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  padding: 0 !important;
}

[id^='page-local-edwiserstore'] .form-check:not(.form-switch) .form-check-input[type='checkbox']::before,
[id^='page-local-edwiserstore'] .form-check:not(.form-switch) .form-check-input[type='checkbox']::after {
  content: none !important;
}

[id^='page-local-edwiserstore'] .form-check:not(.form-switch) .form-check-input[type='checkbox']:checked {
  border-color: #0051f9 !important;
  background-color: #0051f9 !important;
  background-image: none !important;
}

[id^='page-local-edwiserstore'] .form-check:not(.form-switch) .form-check-input[type='checkbox']:checked::after {
  content: '' !important;
  position: absolute;
  top: 3px;
  left: 7px;
  width: 6px;
  height: 11px;
  border: solid #fff;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}

select.form-control {
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236c757d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}

/* ===================================================================
   Button overrides — high specificity to beat theme (e.g. RemUI)
   Scoped to all Edwiser Store pages via body[id^=] + dashboard layout
   =================================================================== */

/* btn-primary */
[id^='page-local-edwiserstore'] .btn-primary:not(:disabled):not(.disabled),
.local-edwiserstore-dashboard-layout
  .btn-primary:not(:disabled):not(.disabled) {
  background: var(--edw-primary) !important;
  border-color: var(--edw-primary) !important;
  color: #fff !important;
}

[id^='page-local-edwiserstore']
  .btn-primary:not(:disabled):not(.disabled):hover,
[id^='page-local-edwiserstore']
  .btn-primary:not(:disabled):not(.disabled):active,
[id^='page-local-edwiserstore']
  .btn-primary:not(:disabled):not(.disabled).active,
[id^='page-local-edwiserstore']
  .btn-primary:not(:disabled):not(.disabled):focus,
[id^='page-local-edwiserstore']
  .btn-primary:not(:disabled):not(.disabled).focus,
.local-edwiserstore-dashboard-layout
  .btn-primary:not(:disabled):not(.disabled):hover,
.local-edwiserstore-dashboard-layout
  .btn-primary:not(:disabled):not(.disabled):active,
.local-edwiserstore-dashboard-layout
  .btn-primary:not(:disabled):not(.disabled).active,
.local-edwiserstore-dashboard-layout
  .btn-primary:not(:disabled):not(.disabled):focus,
.local-edwiserstore-dashboard-layout
  .btn-primary:not(:disabled):not(.disabled).focus {
  background: var(--edw-primary-hover) !important;
  border-color: var(--edw-primary-hover) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--edw-primary) 25%, transparent) !important;
}

[id^='page-local-edwiserstore'] .btn-primary:disabled,
[id^='page-local-edwiserstore'] .btn-primary.disabled,
.local-edwiserstore-dashboard-layout .btn-primary:disabled,
.local-edwiserstore-dashboard-layout .btn-primary.disabled {
  background: #9ca3af !important;
  border-color: #9ca3af !important;
  color: #fff !important;
  opacity: 0.65 !important;
}

/* btn-outline-primary */
[id^='page-local-edwiserstore']
  .btn-outline-primary:not(:disabled):not(.disabled),
.local-edwiserstore-dashboard-layout
  .btn-outline-primary:not(:disabled):not(.disabled) {
  color: var(--edw-primary) !important;
  border-color: var(--edw-primary) !important;
  background: transparent !important;
}

[id^='page-local-edwiserstore']
  .btn-outline-primary:not(:disabled):not(.disabled):hover,
[id^='page-local-edwiserstore']
  .btn-outline-primary:not(:disabled):not(.disabled):active,
[id^='page-local-edwiserstore']
  .btn-outline-primary:not(:disabled):not(.disabled):focus,
[id^='page-local-edwiserstore']
  .btn-outline-primary:not(:disabled):not(.disabled).focus,
.local-edwiserstore-dashboard-layout
  .btn-outline-primary:not(:disabled):not(.disabled):hover,
.local-edwiserstore-dashboard-layout
  .btn-outline-primary:not(:disabled):not(.disabled):active,
.local-edwiserstore-dashboard-layout
  .btn-outline-primary:not(:disabled):not(.disabled):focus,
.local-edwiserstore-dashboard-layout
  .btn-outline-primary:not(:disabled):not(.disabled).focus {
  background: var(--edw-primary) !important;
  border-color: var(--edw-primary) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--edw-primary) 25%, transparent) !important;
}

[id^='page-local-edwiserstore'] .btn-outline-primary:disabled,
[id^='page-local-edwiserstore'] .btn-outline-primary.disabled,
.local-edwiserstore-dashboard-layout .btn-outline-primary:disabled,
.local-edwiserstore-dashboard-layout .btn-outline-primary.disabled {
  color: #9ca3af !important;
  border-color: #d1d5db !important;
  background: transparent !important;
}

/* btn-secondary */
[id^='page-local-edwiserstore'] .btn-secondary:not(:disabled):not(.disabled),
.local-edwiserstore-dashboard-layout
  .btn-secondary:not(:disabled):not(.disabled) {
  background: #fff !important;
  border-color: var(--edw-primary) !important;
  color: var(--edw-primary) !important;
}

[id^='page-local-edwiserstore'] .btn-secondary i,
.local-edwiserstore-dashboard-layout .btn-secondary i {
  color: inherit !important;
}

[id^='page-local-edwiserstore']
  .btn-secondary:not(:disabled):not(.disabled):hover,
[id^='page-local-edwiserstore']
  .btn-secondary:not(:disabled):not(.disabled):active,
[id^='page-local-edwiserstore']
  .btn-secondary:not(:disabled):not(.disabled):focus,
[id^='page-local-edwiserstore']
  .btn-secondary:not(:disabled):not(.disabled).focus,
.local-edwiserstore-dashboard-layout
  .btn-secondary:not(:disabled):not(.disabled):hover,
.local-edwiserstore-dashboard-layout
  .btn-secondary:not(:disabled):not(.disabled):active,
.local-edwiserstore-dashboard-layout
  .btn-secondary:not(:disabled):not(.disabled):focus,
.local-edwiserstore-dashboard-layout
  .btn-secondary:not(:disabled):not(.disabled).focus {
  background: var(--edw-primary) !important;
  border-color: var(--edw-primary) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--edw-primary) 25%, transparent) !important;
}

[id^='page-local-edwiserstore'] .btn-secondary:disabled,
[id^='page-local-edwiserstore'] .btn-secondary.disabled,
.local-edwiserstore-dashboard-layout .btn-secondary:disabled,
.local-edwiserstore-dashboard-layout .btn-secondary.disabled {
  background: #f3f4f6 !important;
  border-color: #d1d5db !important;
  color: #9ca3af !important;
}

/* btn-link */
[id^='page-local-edwiserstore'] .btn-link,
.local-edwiserstore-dashboard-layout .btn-link {
  color: var(--edw-primary) !important;
}

[id^='page-local-edwiserstore'] .btn-link:hover,
.local-edwiserstore-dashboard-layout .btn-link:hover {
  color: var(--edw-primary-hover) !important;
}

/* form-control focus */
[id^='page-local-edwiserstore'] .form-control:focus,
.local-edwiserstore-dashboard-layout .form-control:focus {
  border-color: var(--edw-primary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--edw-primary) 10%, transparent) !important;
}


#page-local-edwiserstore-orders .refund-confirmation #refund-unenroll-checkbox {
    height: 18px !important;
    right: 2px;
    top: 4px;
}
