/* ==========================================================================
   Account notices — wc_print_notices() output (save confirmations,
   errors). Was never called anywhere in the theme until now, so this
   never had styling to write until this pass either.
   ========================================================================== */
.omh-account-content .woocommerce-message,
.omh-account-content .woocommerce-error,
.omh-account-content .woocommerce-info{
  list-style:none; background:none !important; box-shadow:none !important;
  border:none !important; border-left:2px solid var(--color-ink) !important; border-radius:0 !important;
  padding:0.9rem 0 0.9rem 1.2rem !important; margin:0 0 2.4rem !important;
  font-family:var(--font-ui); font-size:0.88rem; color:var(--color-ink);
}
.omh-account-content .woocommerce-error{ border-left-color:#B5734A !important; }
.omh-account-content .woocommerce-message::before,
.omh-account-content .woocommerce-error::before,
.omh-account-content .woocommerce-info::before{ display:none !important; }

/* ==========================================================================
   My Account — unified address (one card instead of separate
   billing/shipping pages; a checkbox reveals shipping fields inline
   only when they're genuinely different).

   Editorial pass: open layout instead of a bordered box, larger Bodoni
   heading, underline-only inputs — matching the MY OMONYMA dashboard's
   language without copying it outright (approved mockup, Sept 2026).
   #B5734A is the same neutral terracotta the dashboard portal defaults
   to before a personal quiz colour exists — hardcoded here rather than
   shared as a variable, since these pages don't load dashboard-portal.css.
   ========================================================================== */

.omh-address-card{ padding:0; max-width:560px; }
.omh-address-card-head{ display:block; margin-bottom:1rem; }
.omh-address-card-head h2{ font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--color-ink-soft); font-family:var(--font-ui); font-weight:400; margin-bottom:1rem; }
.omh-address-card-head .edit{ font-family:var(--font-display); font-style:italic; font-size:0.95rem; color:#B5734A; text-decoration:none; }
.omh-address-card address{ font-style:normal; font-family:var(--font-display); font-size:1.3rem; line-height:1.6; color:var(--color-ink); margin-bottom:0.6rem; }

.omh-address-shipping-note{ margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--color-line); }
.omh-address-shipping-label{ font-size:0.64rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--color-ink-soft); display:block; margin-bottom:0.5rem; }
.omh-address-shipping-note address{ font-style:normal; font-family:var(--font-display); font-size:1.1rem; line-height:1.6; color:var(--color-ink-soft); }

.omh-address-form-title{ font-family:var(--font-display); font-weight:400; font-size:2.2rem; margin-bottom:3rem; }
.omh-address-form .form-row{ margin-bottom:1.8rem; max-width:560px; }
.omh-address-form label{ font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-ink-soft); display:block; margin-bottom:0.6rem; }
.omh-address-form input, .omh-address-form select{
  width:100%; max-width:560px; border:none; border-bottom:1px solid var(--color-line); border-radius:0; background:transparent; padding:0.6rem 0; font-family:var(--font-ui); font-size:1rem; color:var(--color-ink); transition:border-color 0.2s;
}
.omh-address-form input:focus, .omh-address-form select:focus{ outline:none; border-bottom-color:var(--color-ink); }

.omh-ship-different-toggle{ margin:2rem 0; padding-top:1.6rem; border-top:1px solid var(--color-line); max-width:560px; }
.omh-ship-different-toggle label{ display:flex; align-items:center; gap:0.6rem; font-size:0.85rem; text-transform:none; letter-spacing:0; color:var(--color-ink); cursor:pointer; }
.omh-ship-different-toggle input[type="checkbox"]{ width:16px; height:16px; accent-color:var(--color-ink); }

.omh-shipping-fields{ margin-top:1.4rem; padding-top:1.4rem; }

/* ==========================================================================
   Account — Login / Register (the last "obviously WooCommerce" screen).
   Tabs layout (approved concept #3) — "Σύνδεση" / "Δημιουργία
   Λογαριασμού" as two tabs switching one compact panel.
   ========================================================================== */

.omh-account-auth{ display:flex; justify-content:center; padding:1.5rem 1.5rem 6rem; }
.omh-account-auth-inner{ width:100%; max-width:380px; }
.omh-account-auth-inner h1{ font-family:var(--font-display); font-weight:400; font-size:1.5rem; text-align:center; margin-bottom:0.6rem; }
.omh-account-eyebrow{ text-align:center; font-size:0.68rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--color-ink-soft); margin-bottom:1.2rem; }
.omh-account-sub{ font-size:0.88rem; color:var(--color-ink-soft); text-align:center; margin-bottom:2rem; }

/* Equal-width flex tabs so the longer Greek label ("ΔΗΜΙΟΥΡΓΙΑ
   ΛΟΓΑΡΙΑΣΜΟΥ") gets exactly the same share of space as "ΣΥΝΔΕΣΗ" —
   tighter letter-spacing and side padding than a typical button here
   specifically so that label fits on one line without shrinking the
   font size, per direct instruction. */
.omh-account-tabs{ display:flex; border-bottom:1px solid var(--color-line); margin-bottom:2rem; }
.omh-account-tab{
  flex:1; text-align:center; background:none; border:none; padding:1rem 0.3rem;
  font-family:var(--font-ui); font-size:0.72rem; letter-spacing:0.02em; text-transform:uppercase;
  color:var(--color-ink-soft); cursor:pointer; border-bottom:2px solid transparent; white-space:nowrap;
}
.omh-account-tab.active{ color:var(--color-ink); border-bottom-color:var(--color-ink); }

.omh-account-panel{ display:none; }
.omh-account-panel.active{ display:block; }

.omh-account-auth .omh-field{ margin-bottom:1.1rem; }
.omh-account-auth .omh-field label{ display:block; font-size:0.64rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--color-ink-soft); margin-bottom:0.5rem; }
.omh-account-auth .omh-field input{ width:100%; border:1px solid var(--color-line); background:var(--color-bg); padding:0.85rem 0.9rem; font-family:var(--font-ui); font-size:0.9rem; color:var(--color-ink); }
.omh-account-auth .omh-field input:focus{ outline:none; border-color:var(--color-ink); }

.omh-remember{ display:flex; align-items:center; gap:0.5rem; font-size:0.82rem; color:var(--color-ink-soft); cursor:pointer; margin:0.4rem 0 1.4rem; }
.omh-remember input{ width:15px; height:15px; accent-color:var(--color-ink); }

.omh-auth-submit{
  display:block; width:100%; background:var(--color-ink); color:var(--color-bg); border:1px solid var(--color-ink);
  padding:0.95rem; font-family:var(--font-ui); font-size:0.72rem; letter-spacing:0.09em; text-transform:uppercase; cursor:pointer; text-align:center;
}

.omh-lost-password{ text-align:center; margin-top:1.4rem; }
.omh-lost-password a{ font-size:0.8rem; color:var(--color-ink-soft); text-decoration:none; }
.omh-lost-password a:hover{ color:var(--color-ink); text-decoration:underline; }

/* ==========================================================================
   Account — shell (navigation + layout), Dashboard, Orders, Account
   details. Same tokens/spacing language as the address cards above.
   ========================================================================== */

/* ==========================================================================
   Account — shell (navigation + layout), Dashboard, Orders, Account
   details. Same tokens/spacing language as the address cards above.

   Navigation is a small horizontal tab-bar now, on every account page
   including the dashboard root — no more vertical sidebar column
   anywhere (approved, Sept 2026). wc_get_account_menu_items() still
   decides which items exist (Downloads only when relevant, etc.) —
   only how the list is drawn changed, all in CSS, navigation.php itself
   untouched.
   ========================================================================== */

.omh-account-layout{ display:block; max-width:960px; margin:0 auto; padding:2.4rem 1.5rem 6rem; }

.omh-account-nav ul{ list-style:none; display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--color-line); margin-bottom:2.6rem; padding:0; }
.omh-account-nav li{ border:none; }
.omh-account-nav a{
  display:block; padding:0.9rem 1.2rem 0.9rem 0; margin-right:1.2rem; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--color-ink-soft); text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.omh-account-nav li.is-active a{ color:var(--color-ink); font-weight:400; border-bottom-color:#B5734A; }
.omh-account-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{ color:var(--color-ink-soft); }

.omh-account-content{ min-width:0; }

.omh-dash-welcome{ margin-bottom:2.4rem; }
.omh-dash-welcome h2{ font-family:var(--font-display); font-weight:400; font-size:1.8rem; margin-bottom:0.4rem; }
.omh-dash-welcome p{ font-size:0.9rem; color:var(--color-ink-soft); }

.omh-dash-links{ display:flex; flex-direction:column; }
.omh-dash-link{
  display:flex; align-items:center; justify-content:space-between; padding:1.2rem 0;
  border-bottom:1px solid var(--color-line); text-decoration:none; color:var(--color-ink); font-size:0.92rem;
}
.omh-dash-links .omh-dash-link:first-child{ border-top:1px solid var(--color-line); }
.omh-dash-link .a{ color:var(--color-ink-soft); transition:transform 0.15s ease; }
.omh-dash-link:hover .a{ transform:translateX(3px); }

.omh-dash-cta{
  display:inline-block; background:var(--color-ink); color:var(--color-bg); border:1px solid var(--color-ink);
  padding:0.9rem 1.8rem; font-family:var(--font-ui); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; text-decoration:none; margin-top:1.2rem;
}

/* Every other WooCommerce-default button inside My Account (Downloads'
   "Προβολή προϊόντος", Payment methods' "Προσθήκη μεθόδου πληρωμής",
   plus the Address/Account save buttons) — one consistent classic
   button everywhere, same as .omh-dash-cta above, instead of each
   endpoint showing WooCommerce's own unstyled default. Targets the
   real classes WooCommerce itself outputs (.woocommerce-Button, .button),
   so it reaches endpoints we don't have theme override templates for
   at all, without needing to create one just to add a class. */
.omh-account-content .woocommerce-Button,
.omh-account-content a.button,
.omh-account-content button.button,
.omh-account-content button[type="submit"]{
  display:inline-block; background:var(--color-ink); color:var(--color-bg); border:1px solid var(--color-ink);
  padding:0.9rem 1.8rem; font-family:var(--font-ui); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border-radius:0; margin-top:1.2rem;
}
.omh-account-content .woocommerce-Button:hover,
.omh-account-content a.button:hover,
.omh-account-content button.button:hover,
.omh-account-content button[type="submit"]:hover{
  background:var(--color-bg); color:var(--color-ink);
}

/* Orders — editorial pass: larger Bodoni order number, generous spacing,
   left/right balance achieved via CSS Grid placement of the SAME sibling
   divs orders.php already outputs (main/status/total/actions) — no PHP
   template change needed. #B5734A matches the dashboard's default tint,
   same reasoning as the address styles above. */
.omh-order-row{
  display:grid; grid-template-columns:1fr auto; column-gap:2rem;
  padding:2.2rem 0; border-bottom:1px solid var(--color-line);
}
.omh-order-row:first-child{ border-top:1px solid var(--color-line); }
.omh-order-main{ grid-column:1; grid-row:1 / span 3; display:flex; flex-direction:column; align-items:flex-start; gap:0.3rem; }
.omh-order-num{ font-family:var(--font-display); font-size:1.9rem; color:var(--color-ink); text-decoration:none; }
.omh-order-date{ font-size:0.82rem; color:var(--color-ink-soft); }
.omh-order-status{ grid-column:2; grid-row:1; text-align:right; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:#B5734A; margin-bottom:0; align-self:start; }
.omh-order-total{ grid-column:2; grid-row:2; text-align:right; font-size:0.88rem; color:var(--color-ink-soft); margin-bottom:0; }
.omh-order-actions{ grid-column:2; grid-row:3; display:flex; justify-content:flex-end; gap:1rem; }
.omh-order-action{
  border:none; padding:0; font-family:var(--font-display); font-style:italic; font-size:0.95rem; letter-spacing:0; text-transform:none;
  color:var(--color-ink); text-decoration:none;
}
.omh-order-action:hover{ color:#B5734A; }

.omh-orders-pagination{ display:flex; justify-content:space-between; margin-top:1.6rem; }
.omh-pg-link{ font-size:0.8rem; color:var(--color-ink-soft); text-decoration:none; }
.omh-pg-link:hover{ color:var(--color-ink); }

.omh-orders-empty{ padding:2rem 0; }
.omh-orders-empty p{ font-size:0.9rem; color:var(--color-ink-soft); margin-bottom:0.4rem; }

/* Account details form — same underline-input treatment as the address
   form above, for visual consistency across both real forms. */
.omh-account-form{ max-width:560px; }
.omh-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.omh-account-form .omh-field{ margin-bottom:1.8rem; }
.omh-account-form .omh-field label{ display:block; font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-ink-soft); margin-bottom:0.6rem; }
.omh-account-form .omh-field input{ width:100%; border:none; border-bottom:1px solid var(--color-line); border-radius:0; background:transparent; padding:0.6rem 0; font-family:var(--font-ui); font-size:1rem; color:var(--color-ink); transition:border-color 0.2s; }
.omh-account-form .omh-field input:focus{ outline:none; border-bottom-color:var(--color-ink); }
.omh-field-hint{ display:block; font-size:0.72rem; color:var(--color-ink-soft); margin-top:0.4rem; }

.omh-account-form-divider{ margin:3rem 0 1.8rem; padding-top:1.6rem; border-top:1px solid var(--color-line); }
.omh-account-form-divider span{ font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-ink-soft); }

@media (max-width:760px){
  .omh-account-layout{ padding:2rem 1.5rem 5rem; }
  .omh-account-nav ul{ flex-wrap:nowrap; overflow-x:auto; margin-bottom:2rem; }
  .omh-account-nav a{ padding:0.8rem 1rem 0.8rem 0; margin-right:0.8rem; white-space:nowrap; }
  .omh-field-row{ grid-template-columns:1fr; gap:0; }
}

/* ==========================================================================
   MY OMONYMA — "Η Πρακτική Μου" (core pass). No cards, no gamified
   progress styling — the practice index below reads as a quiet
   table-of-contents, not a completion tracker.
   ========================================================================== */

.omh-eyebrow{ font-size:0.66rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--color-ink-soft); }

.omh-read-btn{
  display:inline-block; background:var(--color-ink); color:var(--color-bg); border:1px solid var(--color-ink);
  padding:0.7rem 1.4rem; font-family:var(--font-ui); font-size:0.68rem; letter-spacing:0.07em; text-transform:uppercase;
  text-decoration:none; cursor:pointer;
}

.omh-practice-teaser{ display:grid; grid-template-columns:150px 1fr; gap:1.8rem; padding-bottom:2.4rem; border-bottom:1px solid var(--color-line); margin-bottom:2.4rem; align-items:center; }
.omh-practice-photo{ aspect-ratio:0.85; background:linear-gradient(160deg,#d8d2c4,#c2baa8); background-size:cover; background-position:center; }
.omh-practice-teaser h2{ font-family:var(--font-display); font-weight:400; font-size:1.25rem; margin:0.6rem 0 0.4rem; line-height:1.3; }
.omh-practice-teacher-name{ font-size:0.82rem; color:var(--color-ink-soft); margin-bottom:0.8rem; }
.omh-practice-intro{ font-size:0.85rem; color:var(--color-ink-soft); line-height:1.6; margin-bottom:1.2rem; max-width:400px; }

/* The index — deliberately just text: no boxes, no checkmarks, no
   filled/empty states. Reads like a small table of contents you can
   step back into, not a progress bar. */
.omh-practice-index{ margin-top:1.4rem; font-size:0.78rem; color:var(--color-ink-faint,#8A8580); }
.omh-practice-index a{ color:var(--color-ink-soft); text-decoration:none; }
.omh-practice-index a:hover{ text-decoration:underline; }
.omh-practice-index a.is-current{ color:var(--color-ink); }
.omh-practice-index .sep{ margin:0 0.5rem; color:var(--color-line); }
.omh-practice-next{ font-style:italic; }

/* The gated single-practice reading page (/my-account/practice/{id}/) */
.omh-practice-read{ max-width:600px; }
.omh-practice-back{ font-size:0.78rem; color:var(--color-ink-soft); text-decoration:none; display:inline-block; margin-bottom:2rem; }
.omh-practice-read h1{ font-family:var(--font-display); font-weight:400; font-size:1.7rem; line-height:1.3; margin:0.8rem 0 1.4rem; }
.omh-practice-teacher{ display:flex; align-items:center; gap:0.8rem; padding-bottom:1.8rem; margin-bottom:1.8rem; border-bottom:1px solid var(--color-line); }
.omh-practice-teacher img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }
.omh-practice-teacher .name{ font-size:0.88rem; }
.omh-practice-teacher .duration{ font-size:0.76rem; color:var(--color-ink-soft); }
.omh-practice-content{ font-size:0.96rem; line-height:1.8; color:var(--color-ink); }
.omh-practice-content p{ margin-bottom:1.2rem; }

@media (max-width:760px){
  /* Small photo beside the text, never a tall stacked hero — this
     is what keeps the CTA inside the first screenful on mobile. */
  .omh-practice-teaser{ grid-template-columns:84px 1fr; gap:1rem; padding-bottom:1.8rem; margin-bottom:1.8rem; align-items:start; }
  .omh-practice-teaser h2{ font-size:1.02rem; margin-top:0.4rem; }
  .omh-practice-intro{ display:none; } /* trimmed on mobile to keep the CTA high up — full intro still reads on the practice page itself */
}

/* ===== "Η Συλλογή Μου" — full, uncapped Your Pieces collection =====
   Shared card styles used by BOTH this full page and the dashboard's
   "01 · Your Pieces" preview grid (dashboard-portal.css) — kept here
   since account.css loads on every My Account page, unlike
   dashboard-portal.css which only loads on the dashboard root. */
.omh-piece-card{ display:block; text-decoration:none; color:inherit; }
.omh-piece-img{ display:block; aspect-ratio:4/5; overflow:hidden; background:rgba(26,26,24,0.04); margin-bottom:0.6rem; }
.omh-piece-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease; }
.omh-piece-card:hover .omh-piece-img img{ transform:scale(1.04); }
.omh-piece-name{ font-size:0.76rem; color:var(--color-ink-soft); line-height:1.4; }

.omh-pieces-grid--full{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.8rem; }
.omh-pieces-empty{ padding:2rem 0; }
.omh-pieces-empty p{ color:var(--color-ink-soft); margin-bottom:0.8rem; }

@media (max-width:900px){
	.omh-pieces-grid--full{ grid-template-columns:repeat(3, 1fr); gap:1.4rem; }
}
@media (max-width:600px){
	.omh-pieces-grid--full{ grid-template-columns:repeat(2, 1fr); gap:1rem; }
}
