/* Native customer account dropdown and modal, shared across screen sizes. */
#header .ct-header-account > .ct-account-item { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; box-sizing: border-box; color: #18232e; }
#header .ct-header-account > .ct-account-item > .ct-icon { display: block; flex: 0 0 auto; margin: 0 !important; }
#header .ct-header-account > .ct-account-item:focus-visible { outline: 3px solid #0b7f79; outline-offset: 3px; border-radius: 8px; }
#header .ct-header-account-dropdown {
  width: min(320px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - var(--plsn-scroll-offset, 80px) - 30px);
  overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box;
  direction: rtl; text-align: right; padding: 8px !important; margin-top: 8px !important;
  background: #fff !important; color: #18232e !important; border: 1px solid #d5e3df;
  border-radius: 16px !important; box-shadow: 0 12px 32px rgb(24 35 46 / 14%) !important;
  font: 15px/1.6 var(--pl-font, Tahoma, Arial, sans-serif);
  --theme-text-color: #18232e; --theme-link-initial-color: #18232e; --theme-link-hover-color: #0b7f79;
}
#header .ct-header-account-dropdown .ct-menu-link {
  display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 44px;
  padding: 9px 12px !important; margin: 0 !important; width: 100%; box-sizing: border-box;
  border-radius: 9px; color: #263a40 !important; font-weight: 600; text-decoration: none;
}
#header .ct-header-account-dropdown a:hover,
#header .ct-header-account-dropdown .current-menu-item > a { background: #e9f6f3 !important; color: #0b7f79 !important; }
#header .ct-header-account-dropdown a:focus-visible { outline: 3px solid #0b7f79; outline-offset: -3px; }
#header .ct-header-account-user-info .ct-menu-link { padding: 12px !important; background: #f3f8f6; }
#header .ct-header-account-user-info .ct-menu-link > span:last-child { min-width: 0; flex: 1; display: block; }
#header .ct-header-account-user-info b { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 15px; }
#header .ct-header-account-user-info small { display: block; margin-top: 3px; direction: ltr; text-align: right; unicode-bidi: isolate; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 400; color: #526660; }
#header .ct-header-account-divider { border-bottom: 1px solid #dce7e2 !important; margin: 8px 4px !important; }
.plsn-account-link-icon { width: 20px; height: 20px; flex: 0 0 20px; background: currentColor; mask: center / contain no-repeat; -webkit-mask: center / contain no-repeat; }
.plsn-account-link-dashboard { mask-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 10l9-7 9 7v10H3zM9 20v-7h6v7%22/%3E%3C/svg%3E'); }
.plsn-account-link-orders { mask-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22%3E%3Cpath d=%22M6 4h12v16H6zM9 8h6M9 12h6M9 16h3%22/%3E%3C/svg%3E'); }
.plsn-account-link-downloads { mask-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3v12m-5-5l5 5 5-5M5 16v5h14v-5%22/%3E%3C/svg%3E'); }
.plsn-account-link-edit-account { mask-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%224%22/%3E%3Cpath d=%22M4 21v-2a8 8 0 0116 0v2%22/%3E%3C/svg%3E'); }
.plsn-account-link-customer-logout { mask-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 4H4v16h5M10 12h11m-4-4l4 4-4 4%22/%3E%3C/svg%3E'); color: #a5322b; }
#account-modal {
  position: fixed !important; inset: 0 !important; z-index: 2147483645 !important;
  background: rgb(24 35 46 / 62%) !important; color: #18232e; direction: rtl;
  --theme-font-family: var(--pl-font, Tahoma, Arial, sans-serif);
  --theme-button-background-initial-color: #0b7f79; --theme-button-background-hover-color: #096a65;
  --theme-button-text-initial-color: #fff; --theme-button-text-hover-color: #fff;
  --theme-form-field-border-initial-color: #859a94; --theme-form-field-border-focus-color: #0b7f79;
  --theme-text-color: #18232e; --theme-link-initial-color: #0b7f79; --theme-link-hover-color: #096a65;
  --theme-form-field-height: 50px; --theme-form-field-text-initial-color: #18232e;
  --theme-form-field-text-focus-color: #18232e; --theme-form-field-background-initial-color: #fff;
  --theme-form-field-background-focus-color: #fff;
}
#account-modal .ct-panel-content {
  min-height: 0 !important; height: var(--plsn-account-viewport, 100dvh) !important;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)) !important;
  overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box;
}
#account-modal .ct-account-modal {
  width: 100% !important; max-width: 440px !important;
  max-height: calc(var(--plsn-account-viewport, 100dvh) - 32px);
  border: 1px solid #d7e5df; border-radius: 18px !important; background: #fff !important;
  box-shadow: 0 20px 70px rgb(0 0 0 / 22%); color: #18232e;
  font: 15px/1.65 var(--pl-font, Tahoma, Arial, sans-serif);
  direction: rtl; text-align: right; overflow: hidden; box-sizing: border-box;
}
#account-modal .ct-account-forms { padding: 24px !important; min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; overflow-wrap: anywhere; }
#account-modal .ct-account-modal > ul { padding: 0; margin: 0; list-style: none; }
#account-modal .ct-account-modal > ul > li { min-height: 54px; height: auto !important; font-size: 15px !important; line-height: 1.5; font-weight: 700; letter-spacing: 0 !important; text-transform: none; padding: 12px 8px; color: #526660; opacity: 1 !important; background: #f3f8f6; box-sizing: border-box; border-color: #d7e5df; }
#account-modal .ct-account-modal > ul > li.active { background: #fff; color: #0b7f79; box-shadow: inset 0 -3px #0b7f79; }
#account-modal .ct-account-modal > ul > li:not(.active):hover { background: #e9f6f3; color: #096a65; }
#account-modal form > p { margin: 0 0 18px; }
#account-modal form > p:last-child { margin-bottom: 0; }
#account-modal label { display: inline-block; font-family: inherit !important; font-size: 15px; font-weight: 600; margin-bottom: 7px; color: #243b3b; }
#account-modal input:not([type=checkbox]):not([type=hidden]) { max-width: 100%; min-width: 0; width: 100%; box-sizing: border-box; min-height: 50px; border: 1px solid #859a94; border-radius: 10px; color: #18232e; background: #fff; font: inherit; font-size: 16px; padding: 10px 14px; }
#account-modal input[type=password], #account-modal .account-password-input input { padding-left: 54px !important; }
#account-modal input::placeholder { color: #768780; opacity: 1; font-weight: 400; }
#account-modal :is(input,button,a,[tabindex]):focus-visible { outline: 3px solid #0b7f79; outline-offset: 3px; }
#account-modal input:focus { border-color: #0b7f79; box-shadow: 0 0 0 3px rgb(11 127 121 / 12%); }
#account-modal .account-password-input { position: relative; display: block; }
#account-modal .show-password-input { position: absolute; top: 50%; left: 4px; right: auto; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; border-radius: 8px; color: #526660; background: transparent !important; -webkit-mask: none !important; mask: none !important; }
#account-modal .show-password-input::before { content: ''; display: block; width: 20px; height: 20px; background: currentColor; -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; -webkit-mask-image: var(--plsn-eye-image); mask-image: var(--plsn-eye-image); --plsn-eye-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6S2.5 12 2.5 12Z%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222.75%22/%3E%3C/svg%3E'); }
#account-modal .account-password-input input[type=text] ~ .show-password-input::before { --plsn-eye-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 3l18 18M9 6.5A12 12 0 0121.5 12a17 17 0 01-3 3.5M6 7.5a17 17 0 00-3.5 4.5s3.5 6 9.5 6a12 12 0 004-.7%22/%3E%3C/svg%3E'); }
#account-modal .login-remember { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
#account-modal .login-remember > span { display: inline-flex; align-items: center; gap: 8px; }
#account-modal .login-remember label { margin: 0; font-size: 14px; font-weight: 500; }
#account-modal input[type=checkbox] { width: 20px; height: 20px; min-width: 20px; margin: 0; border: 2px solid #61756d; accent-color: #0b7f79; cursor: pointer; }
#account-modal :is(.ct-forgot-password,.ct-back-to-login) { color: #0b7f79; font-weight: 600; text-underline-offset: 4px; min-height: 44px; display: inline-flex; align-items: center; }
#account-modal .ct-account-modal .ct-button { width: 100%; min-height: 50px; border: 1px solid #0b7f79 !important; border-radius: 10px; background: #0b7f79 !important; background-image: none !important; color: #fff !important; font: inherit; font-weight: 700; padding: 11px 16px; box-shadow: none; }
#account-modal .ct-account-modal .ct-button:hover { background: #096a65 !important; border-color: #096a65 !important; }
#account-modal .ct-account-modal .ct-button:disabled { opacity: .65; cursor: progress; }
#account-modal .ct-panel-actions { position: absolute; top: max(10px, env(safe-area-inset-top)); right: max(10px, env(safe-area-inset-right)); left: auto; bottom: auto; width: auto; z-index: 2; padding: 0 !important; }
#account-modal .ct-toggle-close { width: 44px; height: 44px; min-height: 44px; padding: 0 !important; margin: 0 !important; background: #fff !important; color: #263a40 !important; border-radius: 50% !important; border: 1px solid #c8d8d1; display: grid; place-items: center; --theme-icon-color: #263a40; --theme-icon-size: 16px; --toggle-button-padding: 0px; --toggle-button-radius: 50%; }
#account-modal .ct-toggle-close svg { display: block !important; width: 16px !important; height: 16px !important; fill: currentColor !important; color: #263a40; }
#account-modal .plsn-auth-email { direction: ltr; unicode-bidi: isolate; overflow-wrap: anywhere; }
#account-modal .plsn-auth-recovery-title { margin: 0 0 18px; font: inherit; font-size: 18px; font-weight: 700; color: #18232e; }
#account-modal .ct-account-modal > ul > li.active[aria-selected=false] { background: #f3f8f6; color: #526660; box-shadow: none; }
#account-modal .ct-form-notification-error { background: #fff1ef; color: #9b241c; border: 1px solid #da9b93; border-radius: 10px; }
#account-modal .ct-form-notification { background: #e9f6f3; color: #17574d; border: 1px solid #8cbfb0; border-radius: 10px; }
#account-modal .ct-form-notification a, #account-modal .ct-form-notification-error a { color: inherit; }
#account-modal .woocommerce-privacy-policy-text { font-size: 13px; color: #526660; line-height: 1.7; }
#account-modal .woocommerce-privacy-policy-text p { margin: 0 0 18px; }
#account-modal .woocommerce-privacy-policy-text a { color: #0b7f79; text-underline-offset: 3px; }
/* Keep WooCommerce's customer dashboard and forms in the same visual system. */
body.woocommerce-account #main .woocommerce-MyAccount-navigation,
body.woocommerce-account #main .woocommerce-MyAccount-content { min-width: 0; box-sizing: border-box; background: #fff; border: 1px solid #d7e5df; border-radius: 14px; padding: 18px; color: #18232e; }
body.woocommerce-account #main .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
body.woocommerce-account #main .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 46px; padding: 9px 12px; color: #263a40; font-weight: 600; border-radius: 9px; }
body.woocommerce-account #main .woocommerce-MyAccount-navigation .is-active a,
body.woocommerce-account #main .woocommerce-MyAccount-navigation a:hover { background: #e9f6f3; color: #0b7f79; }
body.woocommerce-account #main .woocommerce-MyAccount-content :is(input,select,textarea) { max-width: 100%; box-sizing: border-box; border-color: #859a94; border-radius: 9px; font: inherit; }
body.woocommerce-account #main .woocommerce-MyAccount-content .button { min-height: 46px; background: #0b7f79; color: #fff; border-radius: 9px; }
body.woocommerce-account #main .woocommerce-MyAccount-content :is(.shop_table,.woocommerce-table) { width: 100%; }
@media (max-width: 719px) {
  #header .ct-header-account-dropdown { position: fixed !important; left: 12px !important; right: 12px !important; top: calc(var(--plsn-admin-offset, 0px) + var(--plsn-header-height, 48px) + 8px) !important; width: auto !important; margin: 0 !important; }
  #header .ct-header-account-dropdown::before { display: none; }
}
@media (max-width: 479px) {
  #account-modal .ct-account-forms { padding: 22px 18px !important; }
  #account-modal .ct-panel-content { padding-inline: 12px !important; }
  body.woocommerce-account #main .woocommerce-MyAccount-content { padding: 16px; overflow-x: auto; }
}
@media (max-width: 319px) {
  #account-modal .login-remember { align-items: flex-start; flex-direction: column; }
  #account-modal .ct-account-modal > ul > li { font-size: 14px !important; }
}
@media (prefers-reduced-motion: reduce) { #account-modal .ct-account-modal { animation: none !important; } }
