/**
 * EGP My Account Styles
 * Navy/gold design system matching karacarrero.com homepage.
 *
 * Colors: navy #1a2f4a · navy-deep #0f1f33 · gold #c9a961
 *         gold-deep #a88a47 · gold-tint #f5ead0 · cream #faf6ef
 * Fonts:  Merriweather (display) · Fira Sans (body)
 *
 * Contrast-critical rules use hardcoded hex + !important so the
 * parent theme (Kadence) cannot override them.
 */

/* =========================================================================
   LAYOUT: two-column account area (sidebar + content)
   ========================================================================= */
.woocommerce-account .woocommerce {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  align-items: flex-start;
  font-family: 'Fira Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 250px;
  width: 250px;
  float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 1 400px;
  width: auto;
  float: none !important;
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce { display: block; }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100%;
    margin-bottom: 2rem;
  }
}

/* =========================================================================
   SIDEBAR NAVIGATION
   ========================================================================= */
.woocommerce-MyAccount-navigation {
  background: #1a2f4a !important;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(26, 47, 74, 0.12);
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0.75rem 0 !important;
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.375rem !important;
  font-family: 'Fira Sans', sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: #faf6ef !important;
  text-decoration: none !important;
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  color: #c9a961 !important;
  background: rgba(255, 255, 255, 0.04);
  border-left-color: rgba(201, 169, 97, 0.5);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  color: #c9a961 !important;
  background: rgba(201, 169, 97, 0.1);
  border-left-color: #c9a961;
  font-weight: 600 !important;
}

/* --- Sidebar icons via CSS masks (recolorable) --- */
.woocommerce-MyAccount-navigation ul li a::before {
  content: '';
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--downloads a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--orders a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--edit-address a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--payment-methods a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='14' x='2' y='5' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--edit-account a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--egp-lesson-library a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E");
}

/* Logout gets subtle separation */
.woocommerce-MyAccount-navigation-link--customer-logout {
  border-top: 1px solid rgba(250, 246, 239, 0.1);
  margin-top: 0.5rem !important;
  padding-top: 0.5rem !important;
}

/* =========================================================================
   DASHBOARD (custom template)
   ========================================================================= */
.egp-ma-eyebrow {
  display: inline-block;
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #a88a47 !important;
  margin-bottom: 0.5rem;
}

.egp-ma-welcome { margin-bottom: 2rem; }

.egp-ma-welcome-title {
  font-family: 'Merriweather', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.5rem, 3vw, 2.125rem) !important;
  color: #1a2f4a !important;
  margin: 0 0 0.75rem !important;
  line-height: 1.25 !important;
}

.egp-ma-welcome-sub {
  font-family: 'Fira Sans', sans-serif;
  font-size: 1rem;
  color: #6b6b6b;
  line-height: 1.6;
  margin: 0;
  max-width: 560px;
}

.egp-ma-stars {
  color: #c9a961;
  font-size: 0.8125rem;
  letter-spacing: 0.75em;
  margin-top: 1.25rem;
  user-select: none;
}

.egp-ma-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin-bottom: 2rem;
}
@media (max-width: 640px) {
  .egp-ma-cards { grid-template-columns: 1fr; }
}

.egp-ma-card {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 1rem;
  padding: 1.375rem 1.5rem;
  background: #ffffff;
  border: 1px solid #ece8e0;
  border-radius: 4px;
  text-decoration: none !important;
  transition: all 0.25s ease;
  overflow: hidden;
}
.egp-ma-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: #c9a961;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.egp-ma-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(26, 47, 74, 0.1);
  border-color: #1a2f4a;
}
.egp-ma-card:hover::before { transform: scaleX(1); }

.egp-ma-card-primary {
  background: #f5ead0;
  border-color: rgba(201, 169, 97, 0.45);
}

.egp-ma-card-icon {
  flex-shrink: 0;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a2f4a;
  color: #c9a961 !important;
  border-radius: 50%;
}

.egp-ma-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.egp-ma-card-title {
  font-family: 'Merriweather', Georgia, serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: #1a2f4a !important;
  line-height: 1.3;
}

.egp-ma-card-desc {
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.8125rem;
  color: #6b6b6b !important;
  line-height: 1.45;
}

.egp-ma-card-badge {
  flex-shrink: 0;
  margin-left: auto;
  min-width: 30px;
  height: 30px;
  padding: 0 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #c9a961;
  color: #ffffff !important;
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  border-radius: 100px;
}

.egp-ma-help {
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.875rem;
  color: #6b6b6b;
  border-top: 1px solid #ece8e0;
  padding-top: 1.25rem;
}
.egp-ma-help a {
  color: #a88a47 !important;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(201, 169, 97, 0.4);
}

/* =========================================================================
   CONTENT AREA: headings, tables (Downloads + Orders), buttons
   ========================================================================= */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-family: 'Merriweather', Georgia, serif !important;
  color: #1a2f4a !important;
  font-weight: 700 !important;
}

.woocommerce-MyAccount-content table.shop_table {
  border: 1px solid #ece8e0 !important;
  border-radius: 4px;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.9rem;
}

.woocommerce-MyAccount-content table.shop_table thead th {
  background: #1a2f4a !important;
  color: #faf6ef !important;
  font-family: 'Fira Sans', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.875rem 1rem !important;
  border: none !important;
}

.woocommerce-MyAccount-content table.shop_table tbody td {
  padding: 0.875rem 1rem !important;
  border-bottom: 1px solid #ece8e0 !important;
  border-left: none !important;
  border-right: none !important;
  color: #2a2a2a;
  vertical-align: middle;
}

.woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(even) {
  background: #faf6ef;
}
.woocommerce-MyAccount-content table.shop_table tbody tr:hover {
  background: #f5ead0;
}
.woocommerce-MyAccount-content table.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}

/* Buttons across the account area (download buttons, view order, save) */
.woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button.button,
.egp-ma-login-wrap .button,
.egp-ma-login-wrap button[type="submit"] {
  background: #c9a961 !important;
  color: #ffffff !important;
  font-family: 'Fira Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.03em;
  padding: 0.625rem 1.375rem !important;
  border: none !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content button.button:hover,
.egp-ma-login-wrap .button:hover,
.egp-ma-login-wrap button[type="submit"]:hover {
  background: #a88a47 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(201, 169, 97, 0.35);
}

/* Links inside account content */
.woocommerce-MyAccount-content a:not(.button) {
  color: #1a2f4a;
  font-weight: 500;
}
.woocommerce-MyAccount-content a:not(.button):hover {
  color: #a88a47;
}

/* =========================================================================
   FORMS (account details, addresses, login, register)
   ========================================================================= */
.woocommerce-account .woocommerce form .form-row label {
  font-family: 'Fira Sans', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  color: #1a2f4a !important;
  margin-bottom: 0.375rem;
}

.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row textarea,
.woocommerce-account .woocommerce form .form-row select {
  font-family: 'Fira Sans', sans-serif !important;
  font-size: 0.9375rem !important;
  padding: 0.7rem 0.875rem !important;
  border: 1.5px solid #ece8e0 !important;
  border-radius: 3px !important;
  background: #ffffff !important;
  color: #2a2a2a !important;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-account .woocommerce form .form-row input.input-text:focus,
.woocommerce-account .woocommerce form .form-row textarea:focus,
.woocommerce-account .woocommerce form .form-row select:focus {
  border-color: #1a2f4a !important;
  box-shadow: 0 0 0 3px rgba(26, 47, 74, 0.08) !important;
  outline: none !important;
}

fieldset legend {
  font-family: 'Merriweather', Georgia, serif !important;
  font-weight: 700 !important;
  color: #1a2f4a !important;
}

/* =========================================================================
   LOGIN / REGISTER (logged-out view)
   ========================================================================= */
.egp-ma-login-intro {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 2.5rem;
}

.egp-ma-login-title {
  font-family: 'Merriweather', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  color: #1a2f4a !important;
  margin: 0 0 0.75rem !important;
}

.egp-ma-login-sub {
  font-family: 'Fira Sans', sans-serif;
  font-size: 1rem;
  color: #6b6b6b;
  line-height: 1.6;
  margin: 0;
}

/* The two login/register columns become styled cards */
.egp-ma-login-wrap .u-columns.col2-set,
.egp-ma-login-wrap #customer_login {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.egp-ma-login-wrap .u-column1,
.egp-ma-login-wrap .u-column2 {
  flex: 1 1 340px;
  max-width: 460px;
  float: none !important;
  width: auto !important;
}

.egp-ma-login-wrap .u-column1 form,
.egp-ma-login-wrap .u-column2 form,
.egp-ma-login-wrap form.woocommerce-form-login,
.egp-ma-login-wrap form.woocommerce-form-register {
  background: #ffffff;
  border: 1px solid rgba(201, 169, 97, 0.35) !important;
  border-radius: 4px;
  padding: 2rem !important;
  box-shadow: 0 8px 24px rgba(26, 47, 74, 0.07);
  margin: 0;
}

.egp-ma-login-wrap h2 {
  font-family: 'Merriweather', Georgia, serif !important;
  font-weight: 700 !important;
  font-size: 1.375rem !important;
  color: #1a2f4a !important;
  text-align: center;
}

.egp-ma-login-wrap .lost_password a {
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.8125rem;
  color: #a88a47 !important;
  border-bottom: 1px solid rgba(201, 169, 97, 0.4);
  text-decoration: none !important;
}

.egp-ma-login-wrap .woocommerce-form-login__rememberme {
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.875rem;
  color: #2a2a2a;
}

/* Registration privacy text */
.egp-ma-login-wrap .woocommerce-privacy-policy-text p {
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.8125rem;
  color: #6b6b6b;
  line-height: 1.55;
}

/* =========================================================================
   NOTICES (success / info / error) restyled to brand
   ========================================================================= */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
  border-top-color: #c9a961 !important;
  background: #f5ead0 !important;
  color: #1a2f4a !important;
  font-family: 'Fira Sans', sans-serif;
  border-radius: 0 0 4px 4px;
}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before {
  color: #a88a47 !important;
}

.woocommerce-account .woocommerce-error {
  border-top-color: #b3443f !important;
  font-family: 'Fira Sans', sans-serif;
  border-radius: 0 0 4px 4px;
}

/* Mark required fields in gold instead of red */
.woocommerce-account .required { color: #a88a47 !important; }

/* =========================================================================
   ============  v2.0.0 ADDITIONS: FAVORITES, DRAWER, CAPTURE  =============
   ========================================================================= */

/* --- Heart buttons on shop loop + single product --- */
.egp-fav-heart {
	background: rgba(255,255,255,0.92) !important;
	border: 1px solid #ece8e0 !important;
	color: #1a2f4a !important;
	border-radius: 100px !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	line-height: 1;
	transition: all .18s ease;
	padding: 7px 9px !important;
}
.egp-fav-heart svg { display: block; }
.egp-fav-heart .egp-fav-heart-txt { font-family:'Fira Sans',sans-serif; font-size:.8rem; font-weight:600; }
.egp-fav-heart:hover { border-color:#c9a961 !important; color:#a88a47 !important; }
.egp-fav-heart.is-active { color:#c0392b !important; border-color:#c0392b !important; }
.egp-fav-heart.is-active svg path { fill:#c0392b !important; stroke:#c0392b !important; }

/* Loop heart floats on the product image corner */
.egp-fav-heart--loop {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	padding: 6px !important;
	box-shadow: 0 2px 8px rgba(26,47,74,.15);
}
.egp-fav-heart--loop .egp-fav-heart-txt { display: none; }
/* Ensure the product tile is a positioning context */
ul.products li.product { position: relative; }

/* Single product heart sits inline under the add-to-cart area */
.egp-fav-heart--single {
	margin-top: 12px;
	padding: 9px 16px !important;
}

/* --- Slide-out drawer --- */
.egp-fav-drawer {
	position: fixed;
	top: 0; right: 0;
	width: min(360px, 90vw);
	height: 100%;
	background: #ffffff;
	box-shadow: -8px 0 32px rgba(15,31,51,.18);
	z-index: 99999990;
	transform: translateX(100%);
	transition: transform .32s cubic-bezier(.22,.61,.36,1);
	display: flex;
	flex-direction: column;
	padding: 20px;
	overflow-y: auto;
}
.egp-fav-drawer.open { transform: translateX(0); }
.egp-fav-drawer-head { display:flex; align-items:center; justify-content:space-between; }
.egp-fav-drawer-title { font-family:'Merriweather',Georgia,serif; font-weight:700; font-size:1.05rem; color:#1a2f4a; }
.egp-fav-drawer-close { background:none; border:none; font-size:1.6rem; line-height:1; color:#6b6b6b; cursor:pointer; }
.egp-fav-drawer-close:hover { color:#1a2f4a; }
.egp-fav-drawer-note { font-family:'Fira Sans',sans-serif; font-size:.8rem; color:#6b6b6b; margin:.35rem 0 1rem; }
.egp-fav-drawer-items { display:flex; flex-direction:column; gap:10px; }

.egp-fav-item { display:flex; align-items:center; gap:10px; padding:8px; border:1px solid #ece8e0; border-radius:4px; }
.egp-fav-item-img img { width:48px; height:48px; object-fit:cover; border-radius:3px; display:block; }
.egp-fav-item-body { flex:1; min-width:0; }
.egp-fav-item-name { display:block; font-family:'Fira Sans',sans-serif; font-size:.85rem; font-weight:600; color:#1a2f4a; text-decoration:none; line-height:1.3; }
.egp-fav-item-price { font-family:'Fira Sans',sans-serif; font-size:.8rem; color:#a88a47; }
.egp-fav-item-remove { background:none; border:none; font-size:1.2rem; color:#b0b0b0; cursor:pointer; line-height:1; }
.egp-fav-item-remove:hover { color:#c0392b; }

.egp-fav-drawer-viewall {
	margin-top:16px; text-align:center;
	font-family:'Fira Sans',sans-serif; font-weight:600; font-size:.85rem;
	color:#1a2f4a !important; text-decoration:none;
	border-top:1px solid #ece8e0; padding-top:14px;
}
.egp-fav-drawer-viewall:hover { color:#a88a47 !important; }
.egp-fav-drawer-overlay { position:fixed; inset:0; background:rgba(15,31,51,.35); z-index:99999985; }

/* --- Capture banner (inside drawer) --- */
.egp-fav-capture { margin-top:16px; padding:14px; background:#f5ead0; border-radius:4px; }
.egp-fav-capture-title { font-family:'Merriweather',Georgia,serif; font-weight:700; color:#1a2f4a; margin:0 0 4px; font-size:.95rem; }
.egp-fav-capture-sub { font-family:'Fira Sans',sans-serif; font-size:.78rem; color:#5a4a2a; line-height:1.45; margin:0 0 10px; }
.egp-fav-capture-row { display:flex; gap:6px; }
.egp-fav-capture-row input {
	flex:1; min-width:0; padding:8px 10px; border:1.5px solid #e0d3b0; border-radius:3px;
	font-family:'Fira Sans',sans-serif; font-size:.85rem; background:#fff;
}
.egp-fav-capture-row input:focus { outline:none; border-color:#c9a961; }
.egp-fav-capture-row button {
	background:#1a2f4a; color:#fff; border:none; border-radius:3px; cursor:pointer;
	font-family:'Fira Sans',sans-serif; font-weight:600; font-size:.8rem; padding:8px 12px; white-space:nowrap;
}
.egp-fav-capture-row button:hover { background:#0f1f33; }
.egp-fav-capture-row button:disabled { opacity:.6; cursor:default; }
.egp-fav-capture-msg { font-family:'Fira Sans',sans-serif; font-size:.75rem; color:#c0392b; margin:.4rem 0 0; }
.egp-fav-capture-done { font-family:'Fira Sans',sans-serif; font-size:.85rem; font-weight:600; color:#2f7a34; margin:0; }

/* --- Floating favorites button (heart w/ count) --- */
.egp-fav-fab {
	position: fixed;
	bottom: 22px; right: 22px;
	width: 52px; height: 52px;
	background:#1a2f4a; color:#faf6ef !important;
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	box-shadow:0 6px 18px rgba(15,31,51,.3);
	z-index:99999980; text-decoration:none;
	transition: transform .18s ease, background .18s ease;
}
.egp-fav-fab:hover { background:#0f1f33; transform:translateY(-2px); color:#c9a961 !important; }
.egp-fav-fab-count {
	position:absolute; top:-4px; right:-4px;
	background:#c9a961; color:#fff; font-family:'Fira Sans',sans-serif; font-weight:700; font-size:.7rem;
	min-width:20px; height:20px; border-radius:100px; display:flex; align-items:center; justify-content:center; padding:0 5px;
}
.egp-fav-fab:not(.has-items) { display:none; }

/* --- Full favorites list (endpoint + shortcode + /favorites page) --- */
.egp-fav-list {
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap:20px;
}
.egp-fav-card {
	position:relative; background:#fff; border:1px solid #ece8e0; border-radius:6px;
	padding:14px; display:flex; flex-direction:column; transition:box-shadow .2s ease, border-color .2s ease;
}
.egp-fav-card:hover { box-shadow:0 10px 24px rgba(26,47,74,.1); border-color:#c9a961; }
.egp-fav-card-remove {
	position:absolute; top:8px; right:8px; z-index:3;
	background:rgba(255,255,255,.92); border:1px solid #ece8e0; border-radius:50%;
	width:26px; height:26px; font-size:1.1rem; line-height:1; color:#b0b0b0; cursor:pointer;
}
.egp-fav-card-remove:hover { color:#c0392b; border-color:#c0392b; }
.egp-fav-card-img img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:4px; display:block; }
.egp-fav-card-name { display:block; font-family:'Merriweather',Georgia,serif; font-weight:700; font-size:.95rem; color:#1a2f4a !important; text-decoration:none; margin:10px 0 6px; line-height:1.3; }
.egp-fav-card-price { font-family:'Fira Sans',sans-serif; font-size:.9rem; color:#a88a47; margin-bottom:12px; }
.egp-fav-card-cart { margin-top:auto; text-align:center; }

.egp-fav-empty { text-align:center; padding:40px 20px; }
.egp-fav-empty-icon { color:#c9a961; display:flex; justify-content:center; margin-bottom:12px; }
.egp-fav-empty-icon svg { width:40px; height:40px; }
.egp-fav-empty-title { font-family:'Merriweather',Georgia,serif; font-weight:700; font-size:1.2rem; color:#1a2f4a; margin:0 0 6px; }
.egp-fav-empty-sub { font-family:'Fira Sans',sans-serif; font-size:.9rem; color:#6b6b6b; margin:0 0 16px; }
.egp-fav-empty-btn {
	display:inline-block; background:#c9a961; color:#fff !important; text-decoration:none;
	font-family:'Fira Sans',sans-serif; font-weight:600; padding:10px 22px; border-radius:3px;
}
.egp-fav-empty-btn:hover { background:#a88a47; }

.egp-fav-account-title, .egp-fav-shortcode .egp-fav-empty-title { font-family:'Merriweather',Georgia,serif; color:#1a2f4a; }
.egp-fav-account-sub { font-family:'Fira Sans',sans-serif; color:#6b6b6b; margin-bottom:20px; }

/* =========================================================================
   FEEDBACK + REVIEWS BLOCK (dashboard)
   ========================================================================= */
.egp-fb-block {
	display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
	margin:8px 0 28px;
}
.egp-fb-reviews, .egp-fb-general {
	background:#fff; border:1px solid #ece8e0; border-radius:6px; padding:20px;
}
.egp-fb-heading { font-family:'Merriweather',Georgia,serif; font-weight:700; font-size:1.1rem; color:#1a2f4a; margin:.15rem 0 .5rem; }
.egp-fb-sub { font-family:'Fira Sans',sans-serif; font-size:.85rem; color:#6b6b6b; line-height:1.5; margin:0 0 14px; }

.egp-fb-review-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.egp-fb-review-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; background:#faf6ef; border-radius:4px; }
.egp-fb-review-name { font-family:'Fira Sans',sans-serif; font-size:.85rem; font-weight:600; color:#1a2f4a; }
.egp-fb-review-btn {
	font-family:'Fira Sans',sans-serif; font-size:.75rem; font-weight:600;
	background:#c9a961; color:#fff !important; text-decoration:none; padding:6px 12px; border-radius:3px; white-space:nowrap;
}
.egp-fb-review-btn:hover { background:#a88a47; }
.egp-fb-review-done { font-family:'Fira Sans',sans-serif; font-size:.75rem; color:#2f7a34; font-weight:600; }

.egp-fb-stars-input { display:flex; gap:2px; margin-bottom:10px; }
.egp-fb-stars-input button { background:none; border:none; font-size:1.5rem; line-height:1; color:#c9a961; cursor:pointer; padding:0 2px; }
.egp-fb-stars-input button.is-on { color:#c9a961; }
.egp-fb-form textarea {
	width:100%; border:1.5px solid #ece8e0; border-radius:4px; padding:10px;
	font-family:'Fira Sans',sans-serif; font-size:.9rem; background:#fff; resize:vertical;
}
.egp-fb-form textarea:focus { outline:none; border-color:#1a2f4a; box-shadow:0 0 0 3px rgba(26,47,74,.08); }
.egp-fb-check { display:flex; align-items:flex-start; gap:8px; font-family:'Fira Sans',sans-serif; font-size:.78rem; color:#6b6b6b; margin:10px 0; line-height:1.4; }
.egp-fb-submit {
	background:#1a2f4a; color:#fff; border:none; border-radius:3px; cursor:pointer;
	font-family:'Fira Sans',sans-serif; font-weight:600; font-size:.85rem; padding:10px 20px;
}
.egp-fb-submit:hover { background:#0f1f33; }
.egp-fb-submit:disabled { opacity:.6; cursor:default; }
.egp-fb-msg { font-family:'Fira Sans',sans-serif; font-size:.78rem; color:#c0392b; margin:.5rem 0 0; }
.egp-fb-thanks, .egp-fb-block .egp-fb-thanks { font-family:'Fira Sans',sans-serif; font-weight:600; color:#2f7a34; margin:0; }

/* =========================================================================
   RESPONSIVE HARDENING  (fixes the tablet / inverted-layout issues)
   ========================================================================= */

/* Tablet: dashboard + feedback go single column earlier */
@media (max-width: 900px) {
	.egp-ma-cards { grid-template-columns: repeat(2, 1fr); }
	.egp-fb-block { grid-template-columns: 1fr; }
}

/* The core account two-column layout: collapse cleanly on tablet */
@media (max-width: 860px) {
	.woocommerce-account .woocommerce { display:block !important; }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width:100% !important;
		flex:none !important;
		float:none !important;
		margin:0 0 24px !important;
	}
	/* Turn the sidebar into a horizontal scroll strip so it never overpowers content */
	.woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; }
	.woocommerce-MyAccount-navigation ul li { flex:1 1 auto; }
	.woocommerce-MyAccount-navigation ul li a { justify-content:center; }
}

/* Phones */
@media (max-width: 600px) {
	.egp-ma-cards { grid-template-columns: 1fr; }
	.egp-ma-welcome-title { font-size:1.4rem !important; }

	/* Tables that would overflow become horizontally scrollable */
	.woocommerce-MyAccount-content table.shop_table {
		display:block;
		width:100%;
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
	}
	.woocommerce-MyAccount-content table.shop_table thead,
	.woocommerce-MyAccount-content table.shop_table tbody,
	.woocommerce-MyAccount-content table.shop_table tr { width:100%; }

	.egp-fav-list { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap:14px; }

	.egp-fav-drawer { width: 92vw; }

	.egp-fav-fab { bottom:16px; right:16px; width:48px; height:48px; }
}

/* Guard against RTL/inverted parent styles forcing odd float behavior */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float:none !important;
}
