/* Existing checkout, authentication and profile screens; no collection, catalog, header or page-wide geometry overrides. */

.tm-checkout-page,
.tm-profile-page { min-width:0; padding:24px 0 46px; color:var(--ink,#112a3b); }

.tm-checkout-page h1,
.tm-profile-head h1 { margin:0; font:750 clamp(28px,3.3vw,38px)/1.12 StoreSans,Arial,sans-serif; letter-spacing:-1.2px; color:var(--ink,#112a3b); overflow-wrap:anywhere; }

.tm-profile-head p { max-width:640px; margin-top:10px; color:var(--muted,#687a84); font-size:13px; line-height:1.55; }

.tm-checkout-primary-button,
.tm-checkout-secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; border:1px solid transparent; border-radius:10px; padding:12px 17px; font:650 14px/1.35 StoreSans,Arial,sans-serif; text-align:center; text-decoration:none; transition:background-color .16s,color .16s,border-color .16s; }

.tm-checkout-primary-button { background:var(--green,#057b59); color:white; }

.tm-checkout-primary-button:hover { background:#05674d; }

.tm-checkout-secondary-button { border-color:#c8d6d1; background:white; color:var(--ink,#112a3b); }

.tm-checkout-secondary-button:hover { border-color:#8bb9a6; background:#f3f8f5; }

.tm-checkout-primary-button:disabled,
.tm-checkout-secondary-button:disabled { cursor:not-allowed; opacity:.5; }

.tm-checkout-page .tm-checkout-item { border:1px solid var(--line,#dce4e2); border-radius:14px; background:white; box-shadow:none; }

.tm-checkout-page .tm-checkout-item__image .no-photo { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:4px; color:#617369; font-size:11px; line-height:1.4; text-align:center; }

.tm-checkout-page .tm-cart-summary { position:sticky; top:20px; min-width:0; padding:24px; border:1px solid var(--line,#dce4e2); border-radius:14px; background:white; color:var(--ink,#112a3b); box-shadow:none; }

.tm-checkout-page .tm-cart-summary::before,
.tm-checkout-page .tm-cart-summary::after { content:none; }

.tm-checkout-page .tm-cart-summary h2 { margin:0 0 22px; font:700 24px/1.2 StoreSans,Arial,sans-serif; letter-spacing:-.6px; }

.tm-checkout-page .tm-cart-summary__line { display:flex; justify-content:space-between; gap:14px; margin:12px 0; color:#687f72; font-size:13px; }

.tm-checkout-page .tm-cart-summary__line strong { max-width:65%; color:var(--ink,#112a3b); font-weight:600; text-align:right; overflow-wrap:anywhere; }

.tm-checkout-page .tm-cart-summary .cart-saving-row { margin:12px 0; color:var(--green,#057b59); font-size:13px; }

.tm-checkout-page .tm-cart-summary__total { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:baseline; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line,#dce4e2); font-size:20px; font-weight:700; }

.tm-checkout-page .tm-cart-summary [data-cart-total] { color:var(--ink,#112a3b); font:750 26px/1.25 StoreSans,Arial,sans-serif; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.6px; }

.tm-checkout-page .tm-cart-summary__note { margin:13px 0 0; color:#617369; font-size:11px; line-height:1.65; }

.tm-checkout-page .tm-cart-summary > .tm-account-primary,
.tm-checkout-page .tm-cart-summary > .tm-account-secondary { width:100%; margin-top:15px; }

.tm-checkout-page .tm-cart-summary > .tm-account-secondary { margin-top:9px; }

.tm-cart-remove-modal > .relative { max-height:calc(100dvh - 40px); overflow:auto; border:1px solid var(--line,#dce4e2); border-radius:16px; box-shadow:0 20px 60px #102c3a28; }

.tm-cart-remove-modal h2 { color:var(--ink,#112a3b); font-family:StoreSans,Arial,sans-serif; }

.tm-cart-remove-modal .cart-remove-confirm__danger { min-height:46px; border-radius:10px; background:#b42336; }

.tm-checkout-page > a:first-child { color:var(--green,#057b59); font-size:12px; }

.tm-checkout-page > .mt-4 p { color:var(--muted,#687a84); font-size:13px; line-height:1.6; }

.tm-checkout-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:24px; }

.tm-checkout-step { display:flex; align-items:center; gap:9px; min-width:0; border:1px solid var(--line,#dce4e2); border-radius:10px; padding:11px; background:white; color:var(--muted,#687a84); font-size:12px; font-weight:600; }

.tm-checkout-step span { display:grid; width:24px; height:24px; place-items:center; flex-shrink:0; border-radius:50%; background:#edf1ef; font-size:11px; }

.tm-checkout-step.is-active { border-color:#9fc8b6; color:var(--green,#057b59); background:#eaf4ee; }

.tm-checkout-step.is-active span { background:var(--green,#057b59); color:white; }

.tm-checkout-step.is-complete { color:#3f7458; }

.tm-checkout-step.is-complete span { background:#dceee1; color:#24724a; }

.tm-checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:26px; margin-top:26px; }

.tm-checkout-main { min-width:0; }

.tm-checkout-panel.tm-checkout-surface { display:flex; min-height:360px; min-width:0; flex-direction:column; gap:14px; border:1px solid var(--line,#dce4e2); border-radius:14px; background:white; padding:26px; }

.tm-checkout-panel[hidden],
.tm-checkout-panel.hidden { display:none; }

.tm-checkout-panel .panel-title { margin:0; color:var(--ink,#112a3b); font:700 24px/1.25 StoreSans,Arial,sans-serif; letter-spacing:-.5px; }

.tm-checkout-surface__eyebrow,
.tm-checkout-summary__eyebrow { color:var(--green,#057b59); font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }

.tm-checkout-panel__text,
.tm-checkout-summary__hint { color:var(--muted,#687a84); font-size:13px; line-height:1.6; }

.tm-checkout-pickup-list,
.tm-checkout-payment-list { display:grid; gap:9px; }

.tm-checkout-pickup-option { display:flex; align-items:flex-start; gap:10px; min-width:0; padding:14px; border:1px solid var(--line,#dce4e2); border-radius:10px; color:var(--ink,#112a3b); background:white; font-size:13px; line-height:1.55; cursor:pointer; overflow-wrap:anywhere; }

.tm-checkout-pickup-option:has(input:checked) { border-color:#98c4af; background:#f2f8f4; }

.tm-checkout-pickup-option input { margin-top:3px; accent-color:var(--green,#057b59); flex-shrink:0; }

.tm-checkout-panel__actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:auto; padding-top:14px; }

.tm-checkout-panel__actions > * { min-width:0; }

.tm-checkout-surface input:not([type=radio]):not([type=checkbox]):not([type=hidden]),
.tm-checkout-surface textarea { width:100%; max-width:100%; min-width:0; border:1px solid #cbd9d2; border-radius:9px; padding:12px; background:white; color:var(--ink,#112a3b); font-size:14px; box-shadow:none; }

.tm-checkout-surface textarea { min-height:100px; resize:vertical; }

.tm-checkout-surface label { overflow-wrap:anywhere; }

.tm-checkout-surface input:focus,
.tm-checkout-surface textarea:focus { border-color:var(--green,#057b59); outline:2px solid #b9dfce; outline-offset:2px; }

.tm-checkout-page .tm-checkout-panel.tm-checkout-surface input[aria-invalid=true],
.tm-checkout-surface textarea[aria-invalid=true] { border-color:#c13b4f; }

.tm-checkout-order-summary { display:block; }

.tm-checkout-order-summary .tm-checkout-summary__eyebrow { margin:0 0 14px; }

.tm-checkout-order-summary .tm-checkout-summary__hint { margin:12px 0; font-size:12px; }

.tm-checkout-order-summary > [data-cart-total] { margin-top:8px; font-size:29px; }

.tm-checkout-order-summary .tm-checkout-item { min-width:0; padding:12px; border-radius:10px; }

.tm-checkout-item__name { font:650 13px/1.4 StoreSans,Arial,sans-serif; color:var(--ink,#112a3b); white-space:normal; overflow-wrap:anywhere; }

.tm-checkout-page .tm-checkout-item__image { width:72px; height:94px; background:white; }

.tm-checkout-page .tm-checkout-item__image > .tm-product-photo { display:block; width:100%; height:100%; object-fit:contain; }

.tm-checkout-item__price { font-variant-numeric:tabular-nums; white-space:nowrap; }

.tm-checkout-item .justify-between { flex-wrap:wrap; align-items:baseline; }

.tm-checkout-order-summary a[href*="wa.me"] { display:flex; min-height:44px; align-items:center; justify-content:center; border:1px solid #c8d6d1; border-radius:10px; background:white; color:var(--green,#057b59); font-size:13px; }

.tm-checkout-page .border-accent-100,
.tm-checkout-page .border-accent-200 { border-color:var(--line,#dce4e2); }

.tm-checkout-page .bg-accent-50 { background:#f2f7f3; }

.tm-auth-shell { min-height:0; padding:44px 0 60px; }

.tm-auth-shell > div { width:100%; max-width:470px; padding:0; }

.tm-auth-card { display:block; overflow:hidden; border:1px solid var(--line,#dce4e2); border-radius:16px; background:white; box-shadow:0 8px 30px #173d2f07; }

.tm-auth-card__head { padding:27px 28px 22px; border-radius:0; background:var(--navy,#0b2637); color:white; }

.tm-auth-card__head > p:first-child { color:var(--lime,#c9f582); font-size:10px; letter-spacing:1.3px; }

.tm-auth-card__head h1 { margin-top:7px; color:white; font:700 30px/1.2 StoreSans,Arial,sans-serif; letter-spacing:-.8px; }

.tm-auth-card__head .tm-auth-intro { margin-top:12px; color:#cbdce1; font-size:13px; line-height:1.6; letter-spacing:0; text-transform:none; }

.tm-auth-card__body { padding:25px 28px 28px; border:0; border-radius:0; background:white; }

.tm-auth-card label { color:#4e695b; font-size:12px; }

.tm-auth-card input:not([type=hidden]) { display:block; width:100%; max-width:100%; min-width:0; min-height:46px; margin-top:6px; padding:12px 13px; border:1px solid #cbd9d2; border-radius:9px; background:white; color:var(--ink,#112a3b); box-shadow:none; }

.tm-auth-card input:focus { border-color:var(--green,#057b59); outline:2px solid #b9dfce; outline-offset:2px; }

.tm-auth-card input[aria-invalid=true] { border-color:#c13b4f; }

.tm-auth-card button[type=submit] { min-height:47px; padding:13px; border-radius:10px; background:var(--green,#057b59); color:white; font-size:14px; font-weight:650; box-shadow:none; }

.tm-auth-card button[type=submit]:hover { background:#05674d; }

.tm-auth-card a[href*="/accounts/"] { min-height:46px; border:1px solid #c8d6d1; border-radius:10px; padding:12px; background:white; color:var(--green,#057b59); font-size:14px; }

.tm-auth-card a[href*="/accounts/"]:hover { background:#f2f7f3; }

.tm-profile-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; }

.tm-profile-head > a { display:inline-flex; align-items:center; justify-content:center; min-height:43px; border-radius:10px; background:var(--green,#057b59); color:white; padding:11px 17px; font-size:13px; box-shadow:none; }

.tm-profile-tabs { display:flex; gap:5px; overflow-x:auto; overscroll-behavior-x:contain; border:1px solid var(--line,#dce4e2); border-radius:12px; padding:5px; background:white; scrollbar-width:thin; scrollbar-color:#a7bdb2 transparent; }

.tm-profile-tabs a { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:43px; padding:10px 15px; border-radius:8px; color:#60776b; font-size:13px; font-weight:600; white-space:nowrap; }

.tm-profile-tabs a[aria-selected=true] { background:var(--green,#057b59); color:white; }

.tm-profile-grid { margin-top:18px; min-width:0; }

.tm-profile-panel { min-width:0; padding:26px; border:1px solid var(--line,#dce4e2); border-radius:14px; background:white; }

.tm-profile-panel[hidden] { display:none; }

.tm-profile-panel .panel-title { margin:0; color:var(--ink,#112a3b); font:700 24px/1.25 StoreSans,Arial,sans-serif; letter-spacing:-.5px; }

.tm-profile-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:20px; }

.tm-profile-metrics > div { min-width:0; padding:20px; border:1px solid #e2ebe5; border-radius:11px; background:#f3f8f4; }

.tm-profile-metrics span { color:var(--ink,#112a3b); font:750 28px/1.2 StoreSans,Arial,sans-serif; font-variant-numeric:tabular-nums; }

.tm-profile-metrics p { margin-top:6px; color:#647e70; font-size:12px; }

.tm-profile-quick-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }

.tm-profile-quick-actions a { border:1px solid #c8d6d1; border-radius:9px; padding:11px 14px; color:var(--green,#057b59); font-size:13px; }

.tm-profile-panel .section-subtitle { margin-top:7px; color:var(--muted,#687a84); font-size:13px; }

.tm-profile-panel .section-link { color:var(--green,#057b59); font-size:13px; }

.tm-status-filter-row { display:flex; flex-wrap:wrap; gap:6px; margin:18px 0; }

.tm-status-filter-row button { min-height:39px; padding:9px 13px; border:1px solid var(--line,#dce4e2); border-radius:8px; background:white; color:#5c7566; font-size:12px; }

.tm-status-filter-row button.is-active { border-color:#9fc8b6; background:#eaf4ee; color:var(--green,#057b59); }

.tm-favorite-mini-list { display:grid; gap:9px; }

.tm-favorite-mini-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; min-width:0; padding:16px; border:1px solid var(--line,#dce4e2); border-radius:10px; background:white; font-size:13px; }

.tm-favorite-mini-row > span { flex:1 1 220px; min-width:0; color:var(--ink,#112a3b); overflow-wrap:anywhere; }

.tm-favorite-mini-row small { display:block; margin-top:5px; color:var(--muted,#687a84); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }

.tm-favorite-mini-row > strong { max-width:100%; color:var(--ink,#112a3b); font-size:14px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }

.tm-profile-panel a.tm-favorite-mini-row:hover { border-color:#98bda9; background:#fbfdfb; }

.tm-payment-table-empty { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; padding:13px 16px; border-radius:9px; background:#eef4ef; color:#65806f; font-size:11px; }

.tm-payments-table { width:100%; margin-top:18px; border-collapse:collapse; table-layout:fixed; text-align:left; font-size:13px; }
.tm-payments-table th,
.tm-payments-table td { width:25%; padding:14px 16px; border-bottom:1px solid var(--line,#dce4e2); vertical-align:top; overflow-wrap:anywhere; }
.tm-payments-table th:first-child,
.tm-payments-table td:first-child { width:50%; }
.tm-payments-table th { background:#eef4ef; color:var(--muted,#687a84); font-weight:600; }
.tm-payments-table a { color:var(--green,#057b59); text-decoration:underline; text-underline-offset:3px; }
.tm-payments-table small { display:block; margin-top:5px; color:var(--muted,#687a84); }
.tm-payments-amount { font-weight:700; font-variant-numeric:tabular-nums; }
.tm-payment-status { display:inline-block; border-radius:6px; padding:4px 7px; background:#eef4ef; }
[data-payment-status=paid] .tm-payment-status { color:var(--green,#057b59); }
.tm-profile-contact { display:grid; gap:18px; margin-top:28px; padding-top:24px; border-top:1px solid var(--line,#dce4e2); }
.tm-profile-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.tm-profile-contact label { display:block; font-size:13px; font-weight:600; }
.tm-profile-contact button { justify-self:start; }
.tm-contact-errors { color:var(--error,#b91c1c); font-size:13px; }
.tm-order-detail { display:grid; gap:18px; }
.tm-order-detail .tm-profile-head { margin:0; }
.tm-order-items { display:grid; margin-top:18px; }
.tm-order-item { display:flex; justify-content:space-between; gap:16px; padding:18px 0; border-bottom:1px solid var(--line,#dce4e2); overflow-wrap:anywhere; }
.tm-order-item h3 { font-weight:700; }
.tm-order-item p { margin-top:7px; color:var(--muted,#687a84); font-size:13px; }
.tm-order-item > strong { flex-shrink:0; font-variant-numeric:tabular-nums; }
.tm-order-totals,
.tm-order-contacts { display:grid; gap:14px; margin-top:22px; font-size:14px; }
.tm-order-totals { max-width:450px; margin-left:auto; }
.tm-order-totals > div,
.tm-order-contacts > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
.tm-order-totals dd { text-align:right; font-variant-numeric:tabular-nums; }
.tm-order-contacts dd { overflow-wrap:anywhere; }
.tm-order-contacts dt { color:var(--muted,#687a84); }

@media (max-width:600px) {
    .tm-profile-contact-fields { grid-template-columns:minmax(0,1fr); }
    .tm-payments-table,
    .tm-payments-table tbody { display:block; }
    .tm-payments-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
    .tm-payments-table tr { display:block; margin-top:12px; padding:8px; border:1px solid var(--line,#dce4e2); border-radius:10px; }
    .tm-payments-table td,
    .tm-payments-table td:first-child { display:block; width:auto; padding:10px 8px; border:0; }
    .tm-payments-table td::before { content:attr(data-label); display:block; margin-bottom:5px; color:var(--muted,#687a84); font-size:11px; font-weight:400; }
    .tm-order-item { flex-wrap:wrap; }
    .tm-order-totals > div,
    .tm-order-contacts > div { grid-template-columns:minmax(0,1fr); gap:5px; }
    .tm-order-totals dd { text-align:left; }
}

.tm-return-flow { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; color:#63806d; font-size:12px; }

.tm-return-flow span { border:1px solid var(--line,#dce4e2); border-radius:8px; padding:10px 12px; }

.tm-security-note { margin-top:18px; border:1px solid var(--line,#dce4e2); border-radius:10px; padding:20px; background:#f3f8f4; }

.tm-security-note strong { color:var(--ink,#112a3b); font-size:14px; }

.tm-security-note p { max-width:650px; margin-top:8px; color:#5a7464; font-size:13px; line-height:1.65; }

.tm-profile-panel > .bg-accent-50\/60 { border-color:var(--line,#dce4e2); background:#f3f8f4; color:#5a7464; }

.tm-profile-panel .empty-band,
.tm-checkout-surface .empty-band { padding:16px; border:1px solid var(--line,#dce4e2); border-radius:10px; background:#f7faf7; color:#63796c; font-size:13px; line-height:1.55; }

@media (max-width:1000px) {
.tm-checkout-layout { grid-template-columns:minmax(0,1fr) 300px; gap:18px; }
}

@media (max-width:1000px) {
.tm-checkout-page .tm-cart-summary { padding:20px; }
}

@media (max-width:780px) {
.tm-checkout-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
}

@media (max-width:780px) {
.tm-checkout-page .tm-cart-summary { position:static; width:100%; }
}

@media (max-width:780px) {
.tm-checkout-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
}

@media (max-width:780px) {
.tm-checkout-panel.tm-checkout-surface { min-height:320px; padding:22px; }
}

@media (max-width:480px) {
.tm-checkout-page,
.tm-profile-page { padding:19px 0 34px; }
}

@media (max-width:480px) {
.tm-checkout-page h1,
.tm-profile-head h1 { font-size:29px; letter-spacing:-.85px; }
}

@media (max-width:480px) {
.tm-checkout-page .tm-cart-summary { padding:20px; }
}

@media (max-width:480px) {
.tm-checkout-page .tm-cart-summary h2 { margin-bottom:18px; font-size:23px; }
}

@media (max-width:480px) {
.tm-checkout-page .tm-cart-summary__line { font-size:12px; }
}

@media (max-width:480px) {
.tm-checkout-page .tm-cart-summary__total { font-size:19px; }
}

@media (max-width:480px) {
.tm-checkout-page .tm-cart-summary [data-cart-total] { font-size:25px; }
}

@media (max-width:480px) {
.tm-checkout-step { gap:7px; padding:9px; font-size:11px; }
}

@media (max-width:480px) {
.tm-checkout-step span { width:22px; height:22px; }
}

@media (max-width:480px) {
.tm-checkout-layout { margin-top:20px; }
}

@media (max-width:480px) {
.tm-checkout-panel.tm-checkout-surface { padding:18px; }
}

@media (max-width:480px) {
.tm-checkout-panel .panel-title { font-size:22px; }
}

@media (max-width:480px) {
.tm-checkout-panel__text { font-size:12px; }
}

@media (max-width:480px) {
.tm-checkout-panel__actions { flex-direction:column-reverse; gap:8px; }
}

@media (max-width:480px) {
.tm-checkout-panel__actions > * { width:100%; }
}

@media (max-width:480px) {
.tm-checkout-pickup-option { padding:12px; font-size:12px; }
}

@media (max-width:480px) {
.tm-auth-shell { padding:23px 0 36px; }
}

@media (max-width:480px) {
.tm-auth-card__head { padding:23px 22px 21px; }
}

@media (max-width:480px) {
.tm-auth-card__body { padding:22px; }
}

@media (max-width:480px) {
.tm-auth-card__head h1 { font-size:28px; }
}

@media (max-width:480px) {
.tm-auth-card__head .tm-auth-intro { font-size:12px; }
}

@media (max-width:480px) {
.tm-profile-head { margin-bottom:19px; }
}

@media (max-width:480px) {
.tm-profile-tabs a { min-height:42px; padding:10px 12px; font-size:12px; }
}

@media (max-width:480px) {
.tm-profile-panel { padding:19px; }
}

@media (max-width:480px) {
.tm-profile-panel .panel-title { font-size:22px; }
}

@media (max-width:480px) {
.tm-profile-metrics { gap:10px; }
}

@media (max-width:480px) {
.tm-profile-metrics > div { padding:15px; }
}

@media (max-width:480px) {
.tm-profile-metrics span { font-size:25px; }
}

@media (max-width:480px) {
.tm-profile-metrics p { font-size:11px; }
}

@media (max-width:480px) {
.tm-favorite-mini-row { padding:13px; font-size:12px; }
}

@media (max-width:480px) {
.tm-favorite-mini-row > strong { font-size:13px; }
}

@media (max-width:480px) {
.tm-profile-quick-actions { flex-direction:column; }
}

@media (max-width:480px) {
.tm-profile-quick-actions a { text-align:center; }
}

@media (max-width:350px) {
.tm-checkout-page .tm-cart-summary { padding:17px; }
}

@media (max-width:350px) {
.tm-profile-metrics { grid-template-columns:minmax(0,1fr); }
}

@media (prefers-reduced-motion:reduce) {
.tm-checkout-primary-button,
.tm-checkout-secondary-button { transition:none; }
}
