/* Account page and the shared account drawer. */
.ts-account-icon { width:24px; height:24px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ts-account [hidden], .ts-account-drawer[hidden], .ts-account-overlay[hidden] { display:none !important; }
.ts-account-overlay { position:fixed; inset:0; z-index:100050; background:#102b2070; backdrop-filter:blur(2px); }
header.header .ts-account-drawer { position:fixed; inset:0 0 0 auto; width:min(440px,100%); height:100dvh; z-index:100051; background:#fff; color:#214332; box-shadow:-12px 0 60px #102b2026; padding:30px; box-sizing:border-box; overflow-y:auto; text-align:left; }
.ts-account-drawer-top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.ts-account-eyebrow { display:block; text-transform:uppercase; letter-spacing:1.4px; font-size:11px; font-weight:700; color:#00894f; margin-bottom:8px; }
header.header .ts-account-drawer h2 { font-size:27px; margin:0; line-height:1.3; color:#173d2a; }
header.header .ts-account-close { width:38px; height:38px; flex:none; border:1px solid #dfe9e3; background:#fff; color:#335544; font-size:30px; line-height:30px; border-radius:50%; cursor:pointer; padding:0; }
.ts-account-person { display:flex; align-items:center; gap:14px; padding:22px 18px; background:#edf7f1; border-radius:12px; margin:28px 0 18px; }
.ts-account-person > .ts-account-icon { width:32px; height:32px; color:#00894f; }
.ts-account-person span { display:block; font-size:13px; color:#5a7063; margin-bottom:5px; }
.ts-account-person strong { display:block; font-size:19px; line-height:1.4; overflow-wrap:anywhere; }
header.header .ts-account-drawer-nav a { display:flex; align-items:center; gap:16px; padding:18px 10px; border-bottom:1px solid #ecf1ee; color:#284c38; font-size:16px; text-decoration:none; border-radius:6px; }
.ts-account-drawer-nav a > span:first-of-type { flex:1; }
header.header .ts-account-drawer-nav a:hover { background:#f3f9f5; color:#00894f; }
header.header .ts-account-logout { display:flex; align-items:center; gap:16px; margin-top:26px; padding:16px 10px; font-weight:600; color:#284c38; font-size:15px; text-decoration:none; }
.ts-account-help { border-top:1px solid #e1eae5; margin-top:30px; padding:22px 0 0; font-size:13px; color:#697a70; }
header.header .ts-account-help a { color:#00894f; text-decoration:underline; }
.ts-account-guest { padding:32px 0; line-height:1.6; }
.ts-account-guest p { margin-bottom:24px; }
.ts-account-button, header.header .ts-account-button { display:inline-block; background:#009e60; color:#fff; border-radius:8px; padding:13px 20px; text-decoration:none; font-weight:600; font-size:14px; }
body:has(.ts-account) .content { width:100%; float:none; }
body:has(.ts-account) .content > h1,
body:has(.ts-account) .container .row > aside,
body:has(.ts-account) .container .sidebar { display:none !important; }
.ts-account { color:#244333; margin-bottom:44px; }
.ts-account-welcome { display:flex; align-items:center; gap:22px; padding:30px; background:linear-gradient(110deg,#edf7f1,#f8fbf9); border:1px solid #dcebe2; border-radius:14px; margin:4px 0 24px; }
.ts-account-avatar { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:#fff; border:1px solid #cfe5d8; color:#008b50; flex:none; }
.ts-account-avatar svg { width:32px; height:32px; }
.ts-account .ts-account-welcome h2 { color:#173d2a; font-size:28px; line-height:1.25; margin:0 0 9px; font-weight:700; }
.ts-account .ts-account-welcome p { margin:0; font-size:14px; color:#61766a; line-height:1.6; }
.ts-account-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 26px; }
.ts-account .ts-account-nav a { display:flex; align-items:center; gap:14px; padding:22px 18px; border:1px solid #dce7e0; border-radius:12px; color:#355240; background:#fff; text-decoration:none; min-width:0; }
.ts-account-nav a > span:first-of-type { flex:1; min-width:0; }
.ts-account-nav strong { display:block; font-size:15px; line-height:1.4; }
.ts-account-nav small { display:block; color:#6e7f74; font-size:12px; margin-top:6px; line-height:1.4; }
.ts-account .ts-account-nav a:hover, .ts-account .ts-account-nav a.current { background:#f0f8f3; border-color:#009e60; color:#007646; }
.ts-account-panel { border:1px solid #dce7e0; border-radius:12px; background:#fff; overflow:hidden; }
.ts-account-panel-heading { padding:24px 26px; background:#f8fbf9; border-bottom:1px solid #e0eae4; }
.ts-account .ts-account-panel-heading h2 { margin:0 0 6px; font-size:21px; color:#1d402c; }
.ts-account-panel-heading p { margin:0; color:#6e7f74; font-size:13px; }
.ts-account .webshopBox { border:0; border-radius:0; padding:26px; margin:0; box-shadow:none; }
.ts-account .webshopBox > h2 { font-size:18px; color:#244333; margin:0 0 20px; }
.ts-account .webshopOrderList { width:100%; margin:0; border-collapse:collapse; }
.ts-account .webshopOrderList th { background:#f5f8f6; color:#64766a; font-size:12px; font-weight:600; padding:15px 16px; border-bottom:1px solid #dfe8e2; }
.ts-account .webshopOrderList td { font-size:14px; padding:20px 16px; border-bottom:1px solid #e8eeea; color:#405a49; }
.ts-account .webshopOrderList tr:last-child td { border-bottom:0; }
.ts-account .webshopOrderList td a { color:#00854d; font-weight:600; }
.ts-account-status { display:inline-block; padding:5px 10px; border-radius:20px; background:#edf5f0; color:#38644b; font-size:12px; font-weight:600; }
.ts-account .webshopCheckout { width:100%; }
.ts-account .webshopCheckout td { padding:10px 12px 14px 0; vertical-align:top; }
.ts-account .webshopCheckout label { color:#405a49; font-size:14px; line-height:1.6; }
.ts-account .webshopCheckout input:not([type=checkbox]):not([type=radio]), .ts-account .webshopCheckout select { box-sizing:border-box; width:100%; height:46px; background:#fff; border:1px solid #d5e2d9; border-radius:7px; padding:10px 12px; color:#294b36; font-size:14px; }
.ts-account input:focus-visible, .ts-account select:focus-visible { outline:2px solid #009e60; outline-offset:2px; }
.ts-account .webshopBtn { display:inline-block; box-sizing:border-box; width:auto; height:auto; min-height:46px; line-height:20px; background:#009e60; border:0; color:#fff; border-radius:8px; padding:13px 24px; font-size:14px; font-weight:600; text-align:center; cursor:pointer; }
.ts-account .webshopCheckoutNaviation { margin:20px 0 0; }
.ts-account #accountPassword form { max-width:560px; }
.ts-account .message { margin:20px 26px 0; border-radius:8px; }
.ts-account-empty { text-align:center; padding:50px 22px; color:#6b7e70; }
.ts-account-empty svg { width:42px; height:42px; color:#009e60; }
.ts-account-empty h3 { font-size:19px; color:#274a34; margin:18px 0 10px; }
.ts-account-empty p { margin-bottom:24px; }
@media(max-width:1000px) { .ts-account-nav { gap:10px; } .ts-account .ts-account-nav a { padding:18px 12px; gap:10px; } .ts-account-nav small { display:none; } }
@media(max-width:670px) {
    header.header .ts-account-drawer { padding:24px 20px; }
    .ts-account-welcome { padding:22px 18px; align-items:flex-start; gap:14px; }
    .ts-account-avatar { width:44px; height:44px; }
    .ts-account-avatar svg { width:24px; height:24px; }
    .ts-account .ts-account-welcome h2 { font-size:22px; overflow-wrap:anywhere; }
    .ts-account-welcome .ts-account-eyebrow { font-size:10px; }
    .ts-account-nav { grid-template-columns:1fr; gap:8px; }
    .ts-account .ts-account-nav a { padding:15px 16px; }
    .ts-account-nav small { display:block; }
    .ts-account-panel-heading { padding:20px; }
    .ts-account .webshopBox { padding:18px; }
    .ts-account .webshopOrderList tr.order { border-radius:8px; border-color:#dce7e0; }
    .ts-account .webshopOrderList td { font-size:13px; }
    .ts-account .webshopCheckout, .ts-account .webshopCheckout tbody, .ts-account .webshopCheckout tr, .ts-account .webshopCheckout td { display:block; width:100% !important; box-sizing:border-box; }
    .ts-account .webshopCheckout td:empty { display:none; }
}
