/* CUSTOMER ACCOUNT V1R3: independent shell, form and authentication containers.
   No viewport selects a form column count. No fixed card heights or clipping. */

/* V1R3A: account-only viewport fill; other storefront shells are unchanged. */
body.jga-account-shell{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
body.jga-account-shell>.header,body.jga-account-shell>.navline,body.jga-account-shell>.footer{flex-shrink:0}
body.jga-account-shell>.jga-page{flex:1 0 auto}

/* Shared, unchanged checkout password feedback and header affordance. */
.jga-password-field{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;min-width:0}
.jga-password-field>label{grid-area:1/1}.jga-password-field>input,.jga-password-field>.password-input{grid-area:2/1}
.jga-password-field::before,.jga-password-field>.woocommerce-password-strength{grid-area:3/1}
.jga-password-field::after,.jga-password-field>.woocommerce-password-hint{grid-area:4/1}
.jga-password-field::before{content:attr(data-strength-reserve)}.jga-password-field::after{content:attr(data-hint-reserve)}
.jga-password-field::before,.jga-password-field::after{visibility:hidden;pointer-events:none}
.jga-password-field::before,.jga-password-field::after,.jga-password-field>.woocommerce-password-strength,.jga-password-field>.woocommerce-password-hint{font-size:14px;font-weight:400;line-height:1.55;margin:0;padding:4px 0 0;min-width:0;overflow-wrap:anywhere;align-self:start}
.jga-header-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;color:var(--ink,#202923);text-decoration:none;font-size:14px;font-weight:650;white-space:nowrap}
.jga-header-link svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.jga-checkout-login{padding:16px 20px;margin-bottom:24px;border:1px solid #dfe5e0;border-radius:12px}
.jga-checkout-login summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600}.jga-checkout-login form{max-width:440px;margin-top:18px}
.jga-checkout-registration{padding:18px 0;margin-block:10px 20px;border-block:1px solid #dfe5e0}.jga-checkout-registration [hidden]{display:none!important}
#jga-registration-fields{max-width:480px;margin-top:16px}
.jga-checkout-registration label{display:block;font-weight:600;margin-bottom:7px}
.jga-checkout-login input:not([type=checkbox]):not([type=hidden]),#account_password{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #aebbb1;border-radius:8px;padding:10px 12px;background:#fff;color:#1e2721;font:inherit}
.jga-checkout-login .button,#jga-register-now{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:0;border-radius:8px;background:#176b36;color:#fff;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.3;white-space:normal}
.jga-checkout-login summary:focus-visible{outline:3px solid #70ad84;outline-offset:3px}
.jga-check{display:flex!important;align-items:center;gap:10px;min-height:44px;font-weight:500!important}.jga-check input{width:20px;height:20px;flex:none;accent-color:#176b36}
.jga-help{font-size:14px;color:#546059;line-height:1.55}
@media(max-width:767px){.jga-header-link{font-size:12px;gap:4px}}

/* Shell: top mode caps the reading/form width before adding a sidebar. At the
   1152px shell threshold: 1152 - 208 sidebar - 24 gap = 920px main (>=880).
   Before the switch main is capped at 880px, so it cannot shrink at the switch. */
.jga-page{container:account-shell/inline-size;max-width:1120px;padding-block:28px 40px}
.jga-page:has(.woocommerce-MyAccount-navigation){max-width:1280px}
.jga-page:has(.woocommerce-MyAccount-navigation)>.jga-heading{max-width:880px;margin-inline:auto}
.jga-heading{margin-bottom:22px}.jga-heading p{margin:0}.jga-heading>p:first-child{color:#56625c;font-size:14px}
.jga-heading h1{font-size:clamp(28px,3vw,36px);line-height:1.15;margin:6px 0 10px}
.jga-page p{line-height:1.6}.jga-page a{color:#196538}.jga-page h2{font-size:22px;line-height:1.3;margin:0 0 18px}
.jga-page h3{font-size:19px;line-height:1.4;margin:0}
.jga-page .woocommerce{min-width:0}
.jga-page .woocommerce:has(>.woocommerce-MyAccount-navigation){display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start;max-width:880px;margin-inline:auto}
.jga-page .woocommerce-MyAccount-content{container:account-form/inline-size;float:none;width:auto;min-width:0;padding:clamp(20px,2cqi,24px);border:1px solid #dfe5e0;border-radius:16px;background:#fff}
.jga-page .woocommerce-MyAccount-content>p:first-child{margin-top:0}
.jga-page .woocommerce-notices-wrapper{grid-column:1/-1}
.jga-page .woocommerce-MyAccount-navigation{float:none;width:auto;min-width:0}
.jga-page .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;list-style:none;margin:0;padding:6px;border:1px solid #dfe5e0;border-radius:12px}
.jga-page .woocommerce-MyAccount-navigation li{min-width:0}
.jga-page .woocommerce-MyAccount-navigation a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:10px 8px;border-radius:8px;text-decoration:none;color:#27322b;font-size:15px}
.jga-page .woocommerce-MyAccount-navigation .is-active a{background:#eaf4ed;color:#15582d;font-weight:700}
.jga-page .woocommerce-MyAccount-navigation-link--customer-logout{grid-column:1/-1;border-top:1px solid #e6ebe7;padding-top:4px;margin-top:4px}
@container account-shell (min-width:560px){
 .jga-page .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(5,minmax(0,1fr));padding:8px}
 .jga-page .woocommerce-MyAccount-navigation-link--customer-logout{grid-column:auto;border-top:0;border-left:1px solid #e6ebe7;padding-top:0;padding-left:4px;margin-top:0}
}
@container account-shell (min-width:1152px){
 .jga-page .woocommerce:has(>.woocommerce-MyAccount-navigation){grid-template-columns:208px minmax(0,1fr);gap:24px;max-width:none}
 .jga-page:has(.woocommerce-MyAccount-navigation)>.jga-heading{max-width:none}
 .jga-page .woocommerce-MyAccount-navigation ul{grid-template-columns:minmax(0,1fr)}
 .jga-page .woocommerce-MyAccount-navigation a{justify-content:flex-start;text-align:left;padding:10px 16px}
 .jga-page .woocommerce-MyAccount-navigation-link--customer-logout{border-left:0;border-top:1px solid #e6ebe7;padding:8px 0 0;margin-top:8px}
}

/* Controls, rhythm and focus. Required/validation semantics remain native Woo. */
.jga-page label{display:block;font-weight:600;margin-bottom:6px;line-height:1.5;font-size:15px}
.jga-page input:not([type=checkbox]):not([type=hidden]),.jga-page select{box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid #aebbb1;border-radius:8px;padding:10px 12px;background:#fff;color:#1e2721;font:inherit;line-height:1.5}
.jga-page input:focus-visible,.jga-page a:focus-visible,.jga-page button:focus-visible{outline:3px solid #70ad84;outline-offset:3px}
.jga-page .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:0;border-radius:8px;background:#176b36;color:#fff;font:inherit;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.3;white-space:normal}
.jga-page .password-input{display:block;position:relative;width:100%}.jga-page .password-input input{padding-right:54px!important}
.jga-page .password-input .show-password-input{position:absolute;inset:1px 1px auto auto;min-width:44px;min-height:44px;width:44px;height:44px;margin:0;padding:10px;border:0;background:transparent;color:#365641;cursor:pointer}
.jga-page [aria-invalid=true]{border-color:#a32727!important}.jga-field-error{display:block;color:#8a2222;font-size:14px;line-height:1.5;margin:6px 0 0}
.jga-page .form-row{float:none!important;width:100%!important;margin:0!important;padding:0!important;min-width:0}
.jga-page .woocommerce-error,.jga-page .woocommerce-message,.jga-page .woocommerce-info{padding:16px 20px;margin:0 0 20px;border-radius:8px;background:#f2f6f2;overflow-wrap:anywhere;line-height:1.5}

/* Internal grid: default single column. 640px inner width gives >=312px/column.
   Semantic weighting only at 940px inner width, keeping every column >=300px. */
.jga-page .woocommerce-address-fields__field-wrapper,.jga-page .woocommerce-EditAccountForm{display:grid;grid-template-columns:minmax(0,1fr);gap:18px 16px}
.jga-page .woocommerce-EditAccountForm>.clear{display:none}
.jga-page .woocommerce-EditAccountForm>fieldset,.jga-page .woocommerce-EditAccountForm>p:not(.form-row),.jga-page .woocommerce-EditAccountForm>p:has(#account_email),.jga-page .jga-address-address_2{grid-column:1/-1}
.jga-page .jga-address-state{display:none}
.jga-page fieldset{display:grid;grid-template-columns:minmax(0,1fr);gap:18px 16px;min-width:0;margin:8px 0 0;padding:16px 0 0;border:0;border-top:1px solid #dfe5e0}
.jga-page legend{padding:0 12px 0 0}.jga-page legend h3{font-size:19px}
.jga-page .jga-password-section-help{margin:0;color:#546059;grid-column:1/-1;font-size:15px}
.jga-page fieldset>.form-row:has(#password_current){grid-column:1/-1}
.jga-page #jga-current-password-help{display:block;margin-top:6px}
.jga-page .woocommerce-address-fields>p:last-child{margin:22px 0 0}.jga-page .woocommerce-EditAccountForm>p:last-child{margin:4px 0 0}
@container account-form (min-width:640px){
 .jga-page .woocommerce-address-fields__field-wrapper,.jga-page .woocommerce-EditAccountForm,.jga-page .woocommerce-EditAccountForm fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}
 .jga-page .woocommerce-EditAccountForm fieldset>.form-row{grid-column:auto}
 .jga-page .woocommerce-EditAccountForm fieldset>.form-row:has(#password_current){grid-column:1/-1}
}
@container account-form (min-width:940px){
 .jga-page .woocommerce-address-fields__field-wrapper{grid-template-columns:repeat(12,minmax(0,1fr))}
 .jga-page .woocommerce-address-fields__field-wrapper>.form-row{grid-column:span 6}
 .jga-page .woocommerce-address-fields__field-wrapper>.jga-address-street,.jga-page .woocommerce-address-fields__field-wrapper>.jga-address-city{grid-column:span 8}
 .jga-page .woocommerce-address-fields__field-wrapper>.jga-address-house_number,.jga-page .woocommerce-address-fields__field-wrapper>.jga-address-postcode{grid-column:span 4}
 .jga-page .woocommerce-address-fields__field-wrapper>.jga-address-phone{grid-column:span 5}
 .jga-page .woocommerce-address-fields__field-wrapper>.jga-address-email{grid-column:span 7}
 .jga-page .woocommerce-address-fields__field-wrapper>.jga-address-address_2{grid-column:1/-1}
}

/* Existing good dashboard, notices, address cards, reset. */
.jga-dashboard-links{display:grid;gap:10px;margin-top:18px}.jga-dashboard-card{display:grid;gap:4px;text-decoration:none;padding:16px;background:#f5f8f5;border:1px solid #dfe5e0;border-radius:10px}.jga-dashboard-card span{color:#58645c;font-size:15px}.jga-dashboard-card:hover{background:#eaf4ed}
.jga-page .jga-account-notice{display:flex;flex-direction:column;align-items:flex-start;gap:16px;border-top:0;padding:20px;margin-bottom:16px}.jga-page .jga-account-notice::before{content:none}.jga-page .jga-notice-text{max-width:56ch}.jga-page .jga-notice-action{max-width:100%}.jga-page .jga-notice-action .button{float:none;margin:0}
.jga-page .woocommerce-Addresses{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.jga-page .woocommerce-Addresses::before,.jga-page .woocommerce-Addresses::after,.jga-page .woocommerce-Address-title::before,.jga-page .woocommerce-Address-title::after{content:none}
.jga-page .woocommerce-Address{float:none;width:auto;min-width:0;display:grid;gap:12px}.jga-page .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.jga-page .woocommerce-Address-title h3{font-size:19px}.jga-page .woocommerce-Address-title .edit{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:14px;float:none}
.jga-page address{font-style:normal;line-height:1.7;margin:0;overflow-wrap:anywhere}
@container account-form (min-width:640px){.jga-page .woocommerce-Addresses{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.jga-page .woocommerce-Address{grid-template-rows:subgrid;grid-row:span 2}}
.jga-page .woocommerce-ResetPassword{box-sizing:border-box;max-width:520px;margin:0;padding:24px;border:1px solid #dfe5e0;border-radius:16px;background:#fff;display:grid;gap:18px}.jga-page .woocommerce-ResetPassword>p{margin:0}.jga-page .woocommerce-ResetPassword>.clear{display:none}
.jga-page table{width:100%;border-collapse:collapse}.jga-page th,.jga-page td{padding:12px 8px;text-align:left;border-bottom:1px solid #dfe5e0;overflow-wrap:anywhere}
@container account-shell (max-width:500px){.jga-page .woocommerce-ResetPassword{padding:20px;gap:16px}.jga-page .jga-account-notice{padding:16px;gap:14px}.jga-page .jga-notice-action,.jga-page .jga-notice-action .button{width:100%}}

/* Auth: two cards only when 2*360px + 24px gap fit the actual container. */
.jga-auth-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.jga-panel{padding:24px;border:1px solid #dfe5e0;border-radius:16px;background:#fff;min-width:0}
.jga-page .jga-panel-intro{margin:0 0 18px;color:#546059;font-size:15px}
.jga-auth-form{display:grid;gap:14px}.jga-auth-form p{margin:0}.jga-page .jga-auth-form label{line-height:1.5}
.jga-page .jga-login-help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.jga-page .jga-login-help label{margin:0}.jga-page .jga-login-help>a{display:inline-flex;align-items:center;min-height:44px}
.jga-page .jga-password-guide{grid-area:4/1;color:#546059;font-size:14px;line-height:1.55;padding-top:4px}.jga-page .jga-password-idle{grid-area:3/1;color:#546059;font-size:14px;line-height:1.55;padding-top:4px}
.jga-page .jga-password-field:has(>.woocommerce-password-hint)>.jga-password-guide,.jga-page .jga-password-field:has(>.woocommerce-password-strength)>.jga-password-idle{visibility:hidden}
.jga-page .woocommerce-privacy-policy-text{font-size:14px;color:#546059;line-height:1.55}.jga-page .woocommerce-privacy-policy-text p{margin:0}
@container account-shell (min-width:744px){.jga-page .jga-auth-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;grid-template-rows:auto auto 1fr;gap:0 24px}.jga-page .jga-auth-grid>.jga-panel{display:grid;grid-template-rows:subgrid;grid-row:span 3}.jga-page .jga-auth-form{display:flex;flex-direction:column;gap:14px}.jga-page .jga-auth-form>button[type=submit]{margin-top:auto}}
