/* WooCommerce classic and block checkout presentation. No gateway or payment logic. */
.el-woo-main { min-width:0; padding-block:clamp(28px,5vw,55px) 70px; min-height:50vh; }
.woocommerce,.wc-block-cart,.wc-block-checkout { max-width:100%; min-width:0; }
.woocommerce :is(h1,h2,h3),.wc-block-components-title { font-family:var(--el-serif); color:var(--el-navy); }
.woocommerce .woocommerce-breadcrumb { font-size:.86rem; color:var(--el-slate); margin-bottom:22px; }
.woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { border-radius:7px; padding:16px 18px 16px 3.5em; background:#EEF4EB; border-top-color:var(--el-sage); color:var(--el-ink); }
.woocommerce .woocommerce-error { background:#FFF2EF; border-top-color:var(--el-alert); }
.woocommerce :is(input.input-text,select,textarea),.wc-block-components-text-input input { min-height:44px; border:1px solid #89988D; background:#fff; border-radius:6px; padding:10px 12px; max-width:100%; }
.woocommerce :is(.button,.button.alt,button.button,input.button),.wc-block-components-button { min-height:44px; padding:9px 15px; background:var(--el-deep-green)!important; border-color:var(--el-deep-green)!important; color:#fff!important; border-radius:7px; font-weight:750; }
.woocommerce :is(.button,.button.alt,button.button,input.button):hover,.wc-block-components-button:hover { background:var(--el-green-hover)!important; }
.woocommerce :is(form.checkout,.woocommerce-MyAccount-content,.woocommerce-cart-form,.cart-collaterals,.woocommerce-order) { background:#fff; border:1px solid var(--el-border); border-radius:9px; padding:clamp(12px,3vw,22px); min-width:0; max-width:100%; }
.woocommerce :is(.cart_totals,.woocommerce-checkout-review-order) { background:#fff; border:1px solid var(--el-border); border-radius:9px; padding:clamp(12px,3vw,20px); }
.woocommerce .woocommerce-checkout-payment,.woocommerce #payment,.wc-block-checkout__payment-method { background:#EFF4EF!important; border:2px solid var(--el-sage)!important; border-radius:10px; padding:12px; max-width:100%; }
.woocommerce #payment :is(.payment_methods li,div.payment_box) { color:var(--el-ink); background:transparent; }
.woocommerce #payment ul.payment_methods { padding:12px; border-bottom:1px solid var(--el-border); }
.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content { float:none; width:100%; margin:0 0 20px; }
.woocommerce .woocommerce-MyAccount-navigation ul { padding:0; margin:0; list-style:none; }
.woocommerce .woocommerce-MyAccount-navigation a { display:flex; align-items:center; min-height:44px; padding:8px 12px; }
.woocommerce .woocommerce-MyAccount-navigation-link.is-active a { background:#E8EFE7; color:var(--el-deep-green); border-radius:6px; font-weight:750; }
.woocommerce .col2-set :is(.col-1,.col-2) { float:none; width:100%; min-width:0; }
.woocommerce .form-row { float:none; width:100%; min-width:0; }
.woocommerce .form-row input.input-text { width:100%; }
.woocommerce .woocommerce-cart-form { overflow-x:auto; }
.woocommerce table.shop_table { width:100%; max-width:100%; border-collapse:separate; border-spacing:0; font-size:.9rem; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:10px 8px; overflow-wrap:anywhere; }
.wc-block-components-sidebar-layout { display:flex!important; flex-direction:column!important; gap:18px; }
.wc-block-components-sidebar,.wc-block-components-main { width:100%!important; min-width:0; max-width:100%; }
.wc-block-components-notice-banner { border-radius:8px; }
.woocommerce-order-received .woocommerce-order { max-width:950px; margin-inline:auto; }
/* Accessible password visibility control for account pages. */
.woocommerce-account .el-password-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:6px 0 12px;padding:8px 14px;border:1px solid #48665B;border-radius:8px;background:#fff;color:#17663E;font:700 16px system-ui,sans-serif;cursor:pointer}
.woocommerce-account .el-password-toggle:focus-visible{outline:3px solid #17663E;outline-offset:3px}
/* Account-only improvements; checkout/cart presentation intentionally untouched. */
.woocommerce-account .woocommerce :is(input.input-text,select,textarea) {font-size:16px; min-height:48px; width:100%;}
.woocommerce-account .woocommerce :is(button.button,input.button,.button) {min-height:48px;}
.woocommerce-account .woocommerce :is(input,select,textarea,button,a):focus-visible {outline:3px solid #17663E; outline-offset:3px;}
.woocommerce-account .woocommerce :is(.woocommerce-MyAccount-content,form.login,form.register,form.lost_reset_password) {border:1px solid #E9E8DA; border-radius:12px; background:#fff; min-width:0;}
.woocommerce-account .woocommerce :is(.woocommerce-error,.woocommerce-message,.woocommerce-info) {overflow-wrap:anywhere;}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {display:flex; flex-wrap:wrap; gap:4px; max-width:100%;}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li {min-width:0; max-width:100%;}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a {min-height:48px; overflow-wrap:anywhere;}
.woocommerce-account .woocommerce :is(.woocommerce-form-login,.woocommerce-form-register,.lost_reset_password) {max-width:100%;}
.woocommerce-account .woocommerce .col2-set {display:flex; flex-direction:column; gap:20px;}
.woocommerce-account .woocommerce :is(.col2-set .col-1,.col2-set .col-2) {float:none; width:100%; max-width:100%;}
@media (max-width:599px) {
 .woocommerce-account .woocommerce table.shop_table_responsive {display:block; border:0; background:transparent;}
 .woocommerce-account .woocommerce table.shop_table_responsive thead {display:none;}
 .woocommerce-account .woocommerce table.shop_table_responsive tbody,
 .woocommerce-account .woocommerce table.shop_table_responsive tr {display:block; width:100%;}
 .woocommerce-account .woocommerce table.shop_table_responsive tr {margin-bottom:12px; padding:12px; border:1px solid #E9E8DA; border-radius:12px; background:#fff;}
 .woocommerce-account .woocommerce table.shop_table_responsive td {display:block; width:100%; min-height:44px; text-align:right; border:0; border-bottom:1px solid #E9E8DA; overflow-wrap:anywhere;}
 .woocommerce-account .woocommerce table.shop_table_responsive td:last-child {border-bottom:0;}
 .woocommerce-account .woocommerce table.shop_table_responsive td::before {content:attr(data-title); float:left; font-weight:700; margin-right:12px; color:#2B3A45;}
 .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {display:grid; grid-template-columns:repeat(2,minmax(0,1fr));}
 .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a {font-size:1rem;}
}
@media (min-width:900px) {
 .woocommerce-account .woocommerce .col2-set {display:block;}

  .woocommerce .col2-set :is(.col-1,.col-2) { float:left; width:48%; }
  .woocommerce .col2-set .col-2 { float:right; }
  .woocommerce .woocommerce-MyAccount-navigation { float:left; width:24%; }
  .woocommerce .woocommerce-MyAccount-content { float:right; width:73%; }
  .wc-block-components-sidebar-layout { display:grid!important; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); }
  .wc-block-components-sidebar,.wc-block-components-main { width:auto!important; }
}


/* EL Account Sidebar R1.0.9 — only signed-in My Account pages. */
body.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation){
  display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content{
  float:none!important;width:100%!important;min-width:0;max-width:100%;margin:0!important;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation{
  border:1px solid var(--el-border,#d9dfd9);border-radius:12px;
  background:#fff;padding:12px;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation ul{
  list-style:none!important;display:flex!important;flex-direction:column!important;
  flex-wrap:nowrap!important;gap:4px!important;grid-template-columns:none!important;
  padding:0!important;margin:0!important;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation li{
  width:100%;margin:0!important;padding:0;list-style:none!important;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation a{
  display:flex;align-items:center;width:100%;min-height:46px;padding:11px 13px;
  border-radius:7px;text-decoration:none!important;font-size:15px;font-weight:600;
  line-height:1.45;color:var(--el-ink,#2b3a45);background:transparent;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation a:focus-visible{
  background:#eef3ee;color:var(--el-deep-green,#17663e);
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation .is-active a{
  background:#e8efe7;color:var(--el-deep-green,#17663e);font-weight:750;
  box-shadow:inset 3px 0 0 var(--el-deep-green,#17663e);
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation a:focus-visible{
  outline:3px solid var(--el-gold,#b58a52);outline-offset:2px;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content{
  border:1px solid var(--el-border,#d9dfd9);border-radius:12px;background:#fff;
  padding:clamp(20px,3.5vw,36px)!important;overflow-wrap:anywhere;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content > p:first-child{
  margin-top:0;
}
body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content .elcd-student-photo{
  max-width:100%;box-sizing:border-box;
}
@media(min-width:780px){
  body.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation){
    grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:clamp(18px,3vw,32px);
  }
  body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation{
    position:sticky;top:90px;
  }
}
@media(max-width:779px){
  body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation{
    padding:8px;
  }
  body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content{
    padding:18px!important;
  }
}

/* Account column order correction v1.0.10 */
@media (min-width:780px) {
 body.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation) {
   display:grid!important;
   grid-template-columns:minmax(200px,240px) minmax(0,1fr)!important;
   gap:clamp(18px,3vw,32px)!important;
   align-items:start!important;
 }
 body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation {
   grid-column:1!important;
   grid-row:1!important;
   width:100%!important;
   float:none!important;
   min-width:0!important;
 }
 body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
   grid-column:2!important;
   grid-row:1!important;
   width:100%!important;
   float:none!important;
   min-width:0!important;
 }
}
@media (max-width:779px) {
 body.woocommerce-account.logged-in .woocommerce:has(> .woocommerce-MyAccount-navigation) {
   display:flex!important;
   flex-direction:column!important;
   gap:16px!important;
 }
 body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-navigation {
   order:0!important;width:100%!important;float:none!important;
 }
 body.woocommerce-account.logged-in .woocommerce > .woocommerce-MyAccount-content {
   order:1!important;width:100%!important;float:none!important;
 }
}
