/* Lebarde Mimosa: what the WordPress theme adds on top of the concept stylesheet (site.css). */

[hidden] { display: none !important; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Sticky header under the wp-admin bar */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Stock and form states */
.instock { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-ink); }
.instock::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mimosa); }
.buy__status .instock { margin-bottom: 14px; }
.form-error { font-size: 13.5px; line-height: 1.5; color: #8A2D1C; background: #FBE9E4; border-radius: 12px; padding: 10px 14px; }
.form .form-error { grid-column: 1 / -1; }
form.is-sending button[type=submit] { opacity: .55; cursor: progress; }

/* Add to bag */
.cart-form__row { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.qty-input { width: 76px; min-height: 52px; border: 1px solid var(--line-2); border-radius: 999px; background: #FFFCF5; text-align: center; font-size: 15px; padding: 0 10px; }
.qty-input:focus { outline: none; border-color: var(--ink); }
.cart-form__row .btn { flex: 1; min-width: 180px; justify-content: center; }

/* Bag drawer with items */
.drawer__body.has-items { align-items: stretch; text-align: left; padding: 8px 28px; }
.bag-items { display: grid; }
.bag-item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.bag-item__img { width: 64px; height: 64px; border-radius: 12px; background: var(--butter); overflow: hidden; display: block; }
.bag-item__img img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.bag-item__text { display: grid; gap: 2px; font-size: 14px; line-height: 1.35; }
.bag-item__text a { font-family: var(--serif); font-size: 19px; line-height: 1.15; }
.bag-item__text span { color: var(--muted); font-size: 12.5px; }
.bag-item__price { font-size: 14px; }
.drawer__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 28px 26px; }
.drawer__cta .btn { justify-content: center; }

/* Page heads for plain pages */
.pagehead__lead { color: var(--muted); max-width: 52ch; margin-top: 18px; font-size: 17px; }
.pagehead--page { padding-bottom: clamp(28px, 3vw, 44px); }

/* WooCommerce notices (added to bag, errors) */
.lb-notices { padding-top: 24px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
  list-style: none; margin: 0 0 24px !important; padding: 16px 20px !important; border: 0 !important; border-radius: 14px;
  background: var(--butter) !important; color: var(--ink) !important; font-size: 14.5px; line-height: 1.55;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px;
}
.woocommerce-error { background: #FBE9E4 !important; display: block; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message::after, .woocommerce-info::after { display: none !important; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { border-bottom: 1px solid currentColor; }

/* Long text: privacy, refunds, posts */
.prose { max-width: 760px; font-size: 16px; line-height: 1.75; color: var(--ink); }
.prose > * + * { margin-top: 1.1em; }
.prose h2, .prose h3, .prose h4 { font-family: var(--serif); font-weight: 400; line-height: 1.15; margin-top: 1.8em; }
.prose h2 { font-size: clamp(28px, 2.6vw, 36px); }
.prose h3 { font-size: clamp(23px, 2vw, 28px); }
.prose h4 { font-size: 21px; }
.prose h2 strong, .prose h3 strong, .prose h4 strong { font-weight: 400; }
.prose ul { list-style: disc; padding-left: 1.3em; }
.prose ol { list-style: decimal; padding-left: 1.3em; }
.prose li + li { margin-top: .35em; }
.prose a { color: var(--gold-ink); border-bottom: 1px solid currentColor; }
.prose img { border-radius: 12px; }
.prose table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.prose td, .prose th { border-bottom: 1px solid var(--line); padding: 10px 8px; text-align: left; vertical-align: top; }

/* Journal list */
.post-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.post-item a { display: grid; gap: 10px; height: 100%; padding: 28px; border-radius: 18px; background: var(--paper); transition: background-color .3s; }
.post-item a:hover { background: var(--butter); }
.post-item p { color: var(--muted); font-size: 14.5px; }
.pagination, .nav-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 40px; font-size: 14px; }
.nav-links .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; display: inline-grid; place-items: center; border: 1px solid var(--line-2); border-radius: 999px; }
.nav-links .page-numbers.current { background: var(--ink); color: var(--ivory); border-color: var(--ink); }

/* WooCommerce pages: cart, checkout, my account, order tracking */
.woo { font-size: 15px; }
.woo h2, .woo h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(26px, 2.2vw, 32px); line-height: 1.15; margin: 0 0 18px; }
.woo a { color: var(--gold-ink); }
.page-main--woo .button, .page-main--woo a.button, .page-main--woo button.button, .page-main--woo input.button,
.page-main--woo .button.alt, .page-main--woo #place_order, .page-main--woo .checkout-button, .page-main--woo button[type=submit] {
  background: var(--ink) !important; color: var(--ivory) !important; border: 0 !important; border-radius: 999px !important;
  font-family: var(--sans) !important; font-weight: 600 !important; font-size: 12px !important; letter-spacing: .16em !important; text-transform: uppercase !important;
  min-height: 50px; padding: 0 28px !important; line-height: 50px !important; display: inline-flex; align-items: center; justify-content: center;
  transition: background-color .3s; text-decoration: none; cursor: pointer;
}
.page-main--woo .button:hover, .page-main--woo button[type=submit]:hover, .page-main--woo #place_order:hover { background: var(--honey) !important; }
.page-main--woo .button:disabled, .page-main--woo .button.disabled { opacity: .5 !important; }
.page-main--woo #place_order { width: 100%; min-height: 56px; }
.woo input.input-text, .woo input[type=text], .woo input[type=email], .woo input[type=tel], .woo input[type=password], .woo input[type=number], .woo textarea, .woo select,
.woo .select2-container--default .select2-selection--single {
  border: 1px solid var(--line-2) !important; border-radius: 12px !important; background: #FFFCF5 !important; padding: 12px 14px !important; min-height: 48px; font-size: 15px; color: var(--ink);
  box-shadow: none !important;
}
.woo .select2-container--default .select2-selection--single { height: 48px; padding: 0 6px !important; display: flex; align-items: center; }
.woo .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.woo input:focus, .woo textarea:focus, .woo select:focus { outline: none; border-color: var(--ink) !important; }
.woo label { font-size: 13px; font-weight: 600; color: var(--muted); }
.woo .form-row { margin-bottom: 14px !important; }
.woo table.shop_table { border: 1px solid var(--line) !important; border-radius: 18px !important; border-collapse: separate !important; overflow: hidden; background: #FFFCF5; }
.woo table.shop_table th, .woo table.shop_table td { border-top: 1px solid var(--line) !important; padding: 14px 16px !important; }
.woo table.shop_table thead th { border-top: 0 !important; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.woo table.cart img { width: 72px !important; border-radius: 12px; background: var(--butter); }
.woo .product-name a { font-family: var(--serif); font-size: 19px; color: var(--ink); }
.woo .cart_totals, .woo #order_review, .woo .woocommerce-checkout-review-order { background: var(--paper); border-radius: 18px; padding: clamp(20px, 2.4vw, 32px); }
.woo .cart_totals table.shop_table, .woo #order_review table.shop_table { background: transparent; }
.woo #payment { background: transparent !important; border-radius: 0 !important; }
.woo #payment ul.payment_methods { border-bottom: 1px solid var(--line) !important; padding: 0 0 16px !important; }
.woo #payment div.payment_box { background: #FFFCF5 !important; border-radius: 12px; color: var(--ink) !important; }
.woo #payment div.payment_box::before { display: none !important; }
.woo .quantity .qty { width: 72px; text-align: center; }
.woo .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; }
.woo .woocommerce-MyAccount-navigation a { display: block; padding: 10px 16px; border-radius: 999px; color: var(--ink); }
.woo .woocommerce-MyAccount-navigation .is-active a { background: var(--butter); }
.woo .cart-empty { font-family: var(--serif); font-size: clamp(26px, 2.4vw, 34px); background: transparent !important; padding: 0 !important; display: block; }
.woo .return-to-shop { margin-top: 24px; }
.woo fieldset { border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
@media (max-width: 768px) {
  .woo table.shop_table_responsive tr td { padding: 10px 14px !important; }
}

/* Awards: button that unfolds the older ones */
.awards__more { margin-top: 28px; }
