/*
Theme Name: AE Streetwear Editorial
Theme URI: https://aminoengine.com/
Author: Amino Engine
Description: Image-led editorial storefront for WooCommerce: pinned header with a centred wordmark and a drawer menu, full-bleed hero, edge-to-edge product rows, collection tiles, lookbook and editorial bands. Every colour, font and spacing value is a CSS variable; the store's values come from ae-theme-config.json / the ae_sq_theme_config option.
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 7.4
WC requires at least: 8.0
License: GNU General Public License v2 or later
Text Domain: ae-streetwear-editorial
*/

/* ------------------------------------------------------------------ tokens (overridden per store by functions.php) */
:root {
  --ae-bg: #ffffff;
  --ae-ink: #111111;
  --ae-accent: #4b2416;
  --ae-on-accent: #ffffff;
  --ae-muted: #6b6b6b;
  --ae-surface: #f6f3ee;
  --ae-card: #efefef;
  --ae-line: #e4e1dc;
  --ae-font-heading: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --ae-font-body: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --ae-heading-weight: 600;
  --ae-heading-stretch: 110%;
  --ae-radius: 0px;
  --ae-gutter: 4px;
  --ae-edge: 2px;
  --ae-pad: 24px;
  --ae-section: 88px;
  --ae-announce-h: 36px;
  --ae-header-h: 80px;
  --ae-reading: 760px;
  --ae-fs-hero: 44px;
  --ae-fs-h1: 34px;
  --ae-fs-h2: 28px;
  --ae-fs-h3: 15px;
  --ae-fs-body: 15px;
  --ae-fs-small: 12px;
  --ae-fs-tiny: 11px;
  --ae-track: .02em;
  --ae-ease: cubic-bezier(.2, .7, .2, 1);
}
@media (max-width: 767px) {
  :root { --ae-pad: 16px; --ae-section: 56px; --ae-header-h: 60px; --ae-fs-hero: 30px; --ae-fs-h1: 26px; --ae-fs-h2: 21px; --ae-fs-body: 14px; }
}

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--ae-announce-h) + var(--ae-header-h) + 12px); }
body { margin: 0; background: var(--ae-bg); color: var(--ae-ink); font-family: var(--ae-font-body); font-size: var(--ae-fs-body);
  line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
body.ae-locked { overflow: hidden; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
p { margin: 0 0 1em; }
h1, h2, h3, h4, h5, h6 { font-family: var(--ae-font-heading); font-weight: var(--ae-heading-weight); font-stretch: var(--ae-heading-stretch);
  line-height: 1.15; margin: 0 0 .5em; letter-spacing: var(--ae-track); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
.screen-reader-text, .ae-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; clip: auto; background: var(--ae-ink); color: var(--ae-bg); padding: 10px 16px; }
:focus-visible { outline: 2px solid var(--ae-ink); outline-offset: 2px; }
.ae-upper { text-transform: uppercase; }
.ae-wrap { padding-left: var(--ae-pad); padding-right: var(--ae-pad); }
.ae-edge { padding-left: var(--ae-edge); padding-right: var(--ae-edge); }
.ae-main { min-height: 50vh; }
.ae-icon { width: 22px; height: 22px; display: inline-block; vertical-align: middle; stroke: currentColor; fill: none; stroke-width: 1.5; }
.ae-icon--sm { width: 16px; height: 16px; }

/* buttons */
.ae-btn, .button, button.button, a.button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce button.button.alt.disabled, .wp-element-button, .wc-block-components-button:not(.is-link) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 22px;
  font-family: var(--ae-font-heading); font-stretch: var(--ae-heading-stretch); font-size: 12px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; border: 1px solid var(--ae-ink); border-radius: var(--ae-radius); background: var(--ae-ink); color: var(--ae-bg);
  transition: background .2s var(--ae-ease), color .2s var(--ae-ease), border-color .2s var(--ae-ease); cursor: pointer; text-decoration: none; line-height: 1; }
.ae-btn:hover, .button:hover, a.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, input[type="submit"]:hover, .wc-block-components-button:not(.is-link):hover { background: var(--ae-bg); color: var(--ae-ink); }
.ae-btn--ghost { background: transparent; color: #fff; border-color: #fff; min-width: 220px; min-height: 44px; }
.ae-btn--ghost:hover { background: #fff; color: var(--ae-ink); }
.ae-btn--outline { background: transparent; color: var(--ae-ink); }
.ae-btn--outline:hover { background: var(--ae-ink); color: var(--ae-bg); }
.ae-btn--block { width: 100%; min-height: 50px; }
.ae-link { font-size: var(--ae-fs-small); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ------------------------------------------------------------------ announcement + header */
.ae-header { position: sticky; top: 0; z-index: 60; background: var(--ae-surface); }
.admin-bar .ae-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ae-header { top: 46px; } }
.ae-announce { height: var(--ae-announce-h); background: var(--ae-accent); color: var(--ae-on-accent); display: flex; align-items: center;
  justify-content: center; gap: 28px; font-size: var(--ae-fs-tiny); letter-spacing: .03em; }
.ae-announce__btn { background: none; border: 0; color: inherit; padding: 6px; display: inline-flex; opacity: .9; }
.ae-announce__track { position: relative; width: min(420px, 62vw); height: 18px; overflow: hidden; text-align: center; }
.ae-announce__msg { position: absolute; inset: 0; margin: 0; line-height: 18px; opacity: 0; transform: translateY(6px); transition: opacity .35s var(--ae-ease), transform .35s var(--ae-ease); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ae-announce__msg.is-on { opacity: 1; transform: none; }
.ae-announce__msg a { text-decoration: underline; text-underline-offset: 2px; }
.ae-bar { height: var(--ae-header-h); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 var(--ae-pad); }
.ae-bar__left, .ae-bar__right { display: flex; align-items: center; gap: 14px; }
.ae-bar__right { justify-content: flex-end; }
.ae-iconbtn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0;
  background: none; border: 0; color: var(--ae-ink); }
.ae-iconbtn:hover { opacity: .65; }
.ae-count { position: absolute; top: 2px; right: 0; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--ae-ink);
  color: var(--ae-bg); font-size: 9px; line-height: 16px; text-align: center; font-weight: 600; }
.ae-count[data-count="0"] { display: none; }
.ae-wordmark { display: inline-flex; flex-direction: column; align-items: center; text-align: center; line-height: 1; color: var(--ae-ink); }
.ae-bar__mid { min-width: 0; display: flex; justify-content: center; }
.ae-wordmark { max-width: 100%; min-width: 0; }
.ae-wordmark__name { font-family: var(--ae-font-heading); font-stretch: 112%; font-weight: 700; font-size: 30px; letter-spacing: -.01em; text-transform: uppercase; white-space: nowrap;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.ae-wordmark--long .ae-wordmark__name { font-size: 24px; letter-spacing: .02em; }
.ae-wordmark--xlong .ae-wordmark__name { font-size: 19px; letter-spacing: .04em; }
.ae-wordmark--xxlong .ae-wordmark__name { font-size: 16px; letter-spacing: .03em; }
.ae-wordmark__sub { margin-top: 5px; font-size: 7.5px; letter-spacing: .42em; text-transform: uppercase; padding-left: .42em; font-weight: 500; }
.ae-wordmark img { max-height: 44px; width: auto; }
@media (max-width: 767px) {
  .ae-wordmark__name { font-size: 22px; } .ae-wordmark--long .ae-wordmark__name { font-size: 17px; } .ae-wordmark--xlong .ae-wordmark__name { font-size: 14px; }
  /* a long name wraps onto two lines inside the middle column; the icon columns keep their width (never pushed off) */
  .ae-bar { grid-template-columns: minmax(44px, 1fr) minmax(0, auto) minmax(88px, 1fr); column-gap: 6px; }
  .ae-wordmark--xlong .ae-wordmark__name, .ae-wordmark--xxlong .ae-wordmark__name { white-space: normal; line-height: 1.15; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
  .ae-wordmark--xxlong .ae-wordmark__name { font-size: 12.5px; }
  .ae-bar__left, .ae-bar__right { gap: 2px; } .ae-hide-sm { display: none !important; }
}

/* search panel */
.ae-search { position: absolute; left: 0; right: 0; top: 100%; background: var(--ae-bg); border-bottom: 1px solid var(--ae-line); padding: 22px var(--ae-pad);
  display: none; }
.ae-search.is-open { display: block; }
.ae-search form { display: flex; gap: 12px; max-width: 900px; margin: 0 auto; }
.ae-search input[type="search"] { flex: 1; border: 0; border-bottom: 1px solid var(--ae-ink); padding: 10px 0; font-size: 18px; background: transparent; border-radius: 0; outline: none; }

/* drawers (menu left, bag + filters right) */
.ae-scrim { position: fixed; inset: 0; background: rgba(0, 0, 0, .35); opacity: 0; visibility: hidden; transition: opacity .3s var(--ae-ease), visibility .3s; z-index: 90; }
.ae-scrim.is-on { opacity: 1; visibility: visible; }
.ae-drawer { position: fixed; top: 0; bottom: 0; width: min(440px, 92vw); background: var(--ae-bg); z-index: 100; display: flex; flex-direction: column;
  transition: transform .4s var(--ae-ease), visibility .4s; visibility: hidden; }
.ae-drawer--left { left: 0; transform: translateX(-100%); }
.ae-drawer--right { right: 0; transform: translateX(100%); }
.ae-drawer.is-open { transform: none; visibility: visible; }
.ae-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 var(--ae-pad); border-bottom: 1px solid var(--ae-line); flex: none; }
.ae-drawer__title { font-family: var(--ae-font-heading); font-stretch: var(--ae-heading-stretch); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.ae-drawer__body { flex: 1; overflow-y: auto; padding: 8px var(--ae-pad) 24px; }
.ae-drawer__foot { flex: none; padding: 18px var(--ae-pad); border-top: 1px solid var(--ae-line); font-size: var(--ae-fs-small); color: var(--ae-muted); }
.ae-menu { list-style: none; margin: 0; padding: 0; }
.ae-menu > li { border-bottom: 1px solid var(--ae-line); }
.ae-menu > li > a { display: flex; justify-content: space-between; align-items: center; padding: 17px 0; font-family: var(--ae-font-heading);
  font-stretch: var(--ae-heading-stretch); font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.ae-menu > li > a:hover { color: var(--ae-muted); }
.ae-menu .sub-menu { list-style: none; margin: 0 0 14px; padding: 0; }
.ae-menu .sub-menu a { display: block; padding: 6px 0; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--ae-muted); }
.ae-drawer__links { margin-top: 26px; display: grid; gap: 10px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }

/* mini cart */
.ae-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 100%; }
.ae-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.ae-drawer .woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 84px 1fr; column-gap: 14px; padding: 16px 28px 16px 0;
  border-bottom: 1px solid var(--ae-line); font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.ae-drawer .woocommerce-mini-cart-item > a:not(.remove) { display: contents; font-weight: 600; }
.ae-drawer .woocommerce-mini-cart-item img { grid-row: span 3; width: 84px; aspect-ratio: 2 / 3; object-fit: cover; background: var(--ae-card); }
.ae-drawer .woocommerce-mini-cart-item .quantity { color: var(--ae-muted); }
.ae-drawer .woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 14px; font-size: 18px; line-height: 1; color: var(--ae-muted); }
.ae-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 18px 0 14px; font-size: 13px; text-transform: uppercase; font-weight: 600; letter-spacing: .04em; }
.ae-drawer .woocommerce-mini-cart__buttons { display: grid; gap: 8px; margin: 0; }
.ae-drawer .woocommerce-mini-cart__buttons .button { width: 100%; min-height: 48px; }
.ae-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: var(--ae-bg); color: var(--ae-ink); }
.ae-drawer .woocommerce-mini-cart__empty-message { padding: 40px 0; text-align: center; text-transform: uppercase; font-size: 12px; letter-spacing: .06em; color: var(--ae-muted); }

/* ------------------------------------------------------------------ section scaffolding */
.ae-section { padding-top: var(--ae-section); }
.ae-section--tight { padding-top: 48px; }
.ae-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 var(--ae-pad); margin-bottom: 22px; }
.ae-head h2, .ae-h2 { font-size: var(--ae-fs-h2); text-transform: uppercase; margin: 0; letter-spacing: .005em; }
.ae-head p { margin: 6px 0 0; color: var(--ae-muted); font-size: 13px; }
.ae-tabs { display: flex; gap: 28px; padding: 0 var(--ae-pad); margin: -6px 0 20px; border-bottom: 1px solid var(--ae-line); overflow-x: auto; scrollbar-width: none; }
.ae-tabs::-webkit-scrollbar { display: none; }
.ae-tab { background: none; border: 0; padding: 0 0 10px; margin-bottom: -1px; font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--ae-muted); border-bottom: 2px solid transparent; white-space: nowrap; }
.ae-tab.is-on { color: var(--ae-ink); border-bottom-color: var(--ae-ink); font-weight: 600; }

/* ------------------------------------------------------------------ hero */
.ae-hero { position: relative; height: clamp(460px, 37.5vw, 680px); overflow: hidden; background: var(--ae-card); color: #fff; }
.ae-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--ae-hero-pos, 60% 40%); }
.ae-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .28) 38%, rgba(0, 0, 0, 0) 66%); }
.ae-hero__copy { position: absolute; z-index: 2; left: calc(var(--ae-pad) + 16px); top: 50%; transform: translateY(-50%); max-width: 560px; }
.ae-hero__title { font-size: var(--ae-fs-hero); text-transform: uppercase; line-height: 1.08; margin: 0 0 12px; color: #fff; }
.ae-hero__sub { text-shadow: 0 1px 14px rgba(0, 0, 0, .35); font-size: 18px; line-height: 1.4; margin: 0 0 26px; font-weight: 500; max-width: 480px; }
@media (max-width: 767px) {
  .ae-hero { height: 78vh; min-height: 520px; max-height: 680px; }
  .ae-hero::after { background: linear-gradient(0deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .1) 55%, rgba(0, 0, 0, 0) 75%); }
  .ae-hero__copy { left: var(--ae-pad); right: var(--ae-pad); top: auto; bottom: 36px; transform: none; text-align: center; }
  .ae-hero__sub { font-size: 15px; margin: 0 auto 20px; }
}

/* ------------------------------------------------------------------ product cards + rows + grids */
.ae-row { position: relative; }
.ae-row__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4 * var(--ae-gutter)) / 4.5); gap: var(--ae-gutter);
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 var(--ae-edge); scroll-padding: 0 var(--ae-edge); }
.ae-row__track::-webkit-scrollbar { display: none; }
.ae-row__track > * { scroll-snap-align: start; }
.ae-row__nav { position: absolute; top: calc(50% - 40px); width: 46px; height: 46px; border-radius: 50%; border: 0; background: #fff; color: var(--ae-ink);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12); display: inline-flex; align-items: center; justify-content: center; z-index: 3; transition: opacity .2s; }
.ae-row__nav--prev { left: 16px; } .ae-row__nav--next { right: 16px; }
.ae-row__nav[disabled] { opacity: 0; pointer-events: none; }
@media (max-width: 1023px) { .ae-row__track { grid-auto-columns: calc((100% - 2 * var(--ae-gutter)) / 2.6); } }
@media (max-width: 767px) { .ae-row__track { grid-auto-columns: 43%; } .ae-row__nav { display: none; } }

.ae-grid { display: grid; grid-template-columns: repeat(var(--ae-cols, 4), minmax(0, 1fr)); column-gap: var(--ae-gutter); row-gap: 48px; padding: 0 var(--ae-edge); }
@media (max-width: 1023px) { .ae-grid { --ae-cols: 3; } }
@media (max-width: 767px) { .ae-grid { --ae-cols: 2; row-gap: 32px; } .ae-grid[data-mcols="1"] { --ae-cols: 1; } }
@media (min-width: 768px) { .ae-grid[data-cols="2"] { --ae-cols: 2; } .ae-grid[data-cols="3"] { --ae-cols: 3; } .ae-grid[data-cols="5"] { --ae-cols: 5; } }

.pcard { position: relative; min-width: 0; }
.pcard__frame { position: relative; }
.pcard__media { position: relative; display: block; aspect-ratio: 2 / 3; background: var(--ae-card); overflow: hidden; }
.pcard__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .45s var(--ae-ease), transform .9s var(--ae-ease); }
.pcard__media .pcard__alt { opacity: 0; }
.pcard:hover .pcard__media .pcard__alt { opacity: 1; }
.pcard:hover .pcard__media img:only-of-type, .pcard:hover .pcard__media.is-single img { transform: scale(1.035); }
.pcard__tag { position: absolute; top: 12px; left: 12px; z-index: 2; background: var(--ae-surface); color: var(--ae-ink); font-size: 9.5px; letter-spacing: .06em;
  text-transform: uppercase; padding: 3px 7px; font-weight: 600; }
.pcard__tag--sale { background: var(--ae-ink); color: var(--ae-bg); }
.pcard__add { position: absolute; z-index: 3; right: 12px; bottom: 12px; width: 26px; height: 26px; border-radius: 50%; background: #3d3d3d; color: #fff;
  display: inline-flex; align-items: center; justify-content: center; border: 0; padding: 0; font-size: 0; transition: transform .2s var(--ae-ease), background .2s; }
.pcard__add::before { content: "+"; font-size: 17px; line-height: 1; font-weight: 300; margin-top: -1px; }
.pcard__add:hover { transform: scale(1.08); background: var(--ae-ink); color: #fff; }
.pcard__add.loading { opacity: .5; }
.pcard__add.added::before { content: "\2713"; font-size: 12px; }
.pcard .added_to_cart { display: none; }
.pcard__meta { display: flex; justify-content: space-between; gap: 14px; padding: 9px 7px 0; font-size: var(--ae-fs-tiny); letter-spacing: .03em; text-transform: uppercase; line-height: 1.4; }
.pcard__name { font-family: var(--ae-font-body); font-size: inherit; font-weight: 500; letter-spacing: inherit; margin: 0; font-stretch: normal; }
.pcard__price { flex: none; white-space: nowrap; font-weight: 500; }
.pcard__price del { color: var(--ae-muted); margin-right: 4px; }
.pcard__price ins { text-decoration: none; color: #c2410c; }
.pcard__sub { padding: 2px 7px 0; font-size: 10px; color: var(--ae-muted); text-transform: uppercase; letter-spacing: .04em; }

/* ------------------------------------------------------------------ text band (statement + tiles) */
.ae-band { display: grid; grid-template-columns: minmax(260px, 1.15fr) repeat(4, minmax(0, 1fr)); gap: var(--ae-gutter); align-items: stretch; padding: 0 var(--ae-pad) 0 var(--ae-pad); }
.ae-band__lead h2 { font-size: var(--ae-fs-h2); text-transform: uppercase; margin: 0 0 10px; line-height: 1.12; }
.ae-band__lead p { font-size: 12.5px; margin: 0; max-width: 340px; }
.ae-band__tile { background: var(--ae-surface); padding: 22px 18px 20px; min-height: 150px; display: flex; flex-direction: column; border-bottom: 2px solid #e9e4da; }
.ae-band__tile .ae-icon { width: 20px; height: 20px; margin-bottom: 18px; }
.ae-band__tile h3 { font-size: 14px; text-transform: uppercase; margin: 0 0 4px; line-height: 1.25; }
.ae-band__tile p { font-size: 11.5px; line-height: 1.5; margin: 0; color: #3b3b3b;
  display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }   /* safety only: the copy is cut at a sentence */
@media (max-width: 1023px) { .ae-band { grid-template-columns: 1fr 1fr; } .ae-band__lead { grid-column: 1 / -1; margin-bottom: 18px; } }
@media (max-width: 767px) {
  .ae-band { grid-template-columns: 1fr; gap: 8px; }
  .ae-band__tile { min-height: 0; display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; padding: 14px; }
  .ae-band__tile .ae-icon { margin: 0; grid-row: span 2; } }

/* ------------------------------------------------------------------ collection tiles */
.ae-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ae-gutter); padding: 0 var(--ae-edge); }
.ae-tile { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--ae-card); }
.ae-tile img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; transition: transform 1.2s var(--ae-ease); }
.ae-tile:hover img { transform: scale(1.045); }
.ae-tile::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .14); transition: background .3s; }
.ae-tile:hover::after { background: rgba(0, 0, 0, .24); }
.ae-tile__label { position: absolute; z-index: 2; inset: auto 0 50% 0; transform: translateY(50%); text-align: center; color: #fff; font-family: var(--ae-font-heading);
  font-stretch: var(--ae-heading-stretch); font-weight: 600; font-size: 24px; text-transform: uppercase; letter-spacing: .02em; text-shadow: 0 1px 12px rgba(0, 0, 0, .25); padding: 0 12px; }
@media (max-width: 767px) { .ae-tiles { grid-template-columns: 1fr 1fr; } .ae-tile__label { font-size: 17px; } }

/* edits: cream band of portrait cards */
.ae-edits { background: var(--ae-surface); padding: 56px var(--ae-pad) 64px; margin-top: var(--ae-section); }
.ae-edits__head { text-align: center; margin-bottom: 30px; }
.ae-edits__head h2 { font-size: 22px; text-transform: uppercase; margin: 0 0 6px; }
.ae-edits__head p { font-size: 12px; margin: 0; }
.ae-edits__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ae-edit { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--ae-card); color: #fff; }
.ae-edit img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform 1.2s var(--ae-ease); }
.ae-edit:hover img { transform: scale(1.04); }
.ae-edit::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(0deg, rgba(0, 0, 0, .58), rgba(0, 0, 0, 0)); }
.ae-edit__copy { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 18px; }
.ae-edit__copy h3 { font-size: 15px; text-transform: uppercase; margin: 0 0 4px; color: #fff; }
.ae-edit__copy p { font-size: 11.5px; line-height: 1.45; margin: 0 0 8px;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }   /* safety only: the copy is cut at a sentence */
.ae-edit__copy span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; font-weight: 600; border-bottom: 1px solid #fff; }
@media (max-width: 767px) { .ae-edits__grid { grid-template-columns: 1fr 1fr; gap: 8px; } .ae-edit__copy p { display: none; } }

/* ------------------------------------------------------------------ lookbook */
.ae-look { background: var(--ae-surface); margin-top: var(--ae-section); padding: 52px 0 var(--ae-edge); }
.ae-look__head { text-align: center; padding: 0 var(--ae-pad); margin-bottom: 30px; }
.ae-look__head h2 { font-size: 22px; text-transform: uppercase; margin: 0 0 6px; }
.ae-look__head p { font-size: 12.5px; margin: 0 auto; max-width: 560px; }
.ae-look__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ae-gutter); padding: 0 var(--ae-edge); }
.ae-look__item { display: block; }
.ae-look__item figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ae-card); }
.ae-look__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-look__item:hover img { transform: scale(1.03); }
.ae-look__cap { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 14px 18px; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.ae-look__cap strong { font-weight: 600; font-size: 12px; }
@media (max-width: 767px) { .ae-look__grid { grid-template-columns: 1fr; } }

.ae-wide { position: relative; margin-top: var(--ae-section); height: clamp(380px, 38vw, 600px); overflow: hidden; background: var(--ae-card); color: #fff; display: block; }
.ae-wide img { width: 100%; height: 100%; object-fit: cover; }
.ae-wide::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .18); }
.ae-wide__copy { position: absolute; z-index: 2; left: 0; right: 0; bottom: 44px; text-align: center; padding: 0 var(--ae-pad); }
.ae-wide__copy h2 { font-size: var(--ae-fs-h2); text-transform: uppercase; margin: 0 0 14px; color: #fff; }

/* ------------------------------------------------------------------ editorial split */
.ae-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 500px; margin-top: var(--ae-section); }
.ae-split__copy { padding: 56px var(--ae-pad) 56px calc(var(--ae-pad) + 8px); display: flex; flex-direction: column; justify-content: flex-start; }
.ae-split__kicker { font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--ae-muted); margin-bottom: 14px; }
.ae-split__copy h2 { font-size: 22px; text-transform: uppercase; margin: 0 0 18px; max-width: 520px; line-height: 1.2; }
.ae-split__copy p { font-size: 13px; line-height: 1.7; max-width: 520px; }
.ae-split__copy .ae-link { align-self: flex-start; margin-top: 8px; }
.ae-split__media { position: relative; overflow: hidden; background: var(--ae-card); min-height: 360px; }
.ae-split__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* the story band without its photograph: copy only, centred on the reading width (never an empty half) */
.ae-split--text { grid-template-columns: minmax(0, var(--ae-reading)); justify-content: center; min-height: 0; }
.ae-hero--plain { background: var(--ae-accent); }
.ae-hero--plain::after { display: none; }
@media (max-width: 767px) { .ae-split { grid-template-columns: 1fr; min-height: 0; } .ae-split__media { order: -1; aspect-ratio: 4 / 5; min-height: 0; } .ae-split__copy { padding: 28px var(--ae-pad) 0; } }

/* ------------------------------------------------------------------ service strip */
.ae-service { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ae-line); border-bottom: 1px solid var(--ae-line); margin-top: var(--ae-section); }
.ae-service__item { display: grid; grid-template-columns: 36px 1fr; column-gap: 16px; align-items: start; padding: 26px 34px; border-left: 1px solid var(--ae-line); }
.ae-service__item:first-child { border-left: 0; }
.ae-service__item .ae-icon { width: 28px; height: 28px; margin-top: 6px; }
.ae-service__item h3 { font-size: 13px; text-transform: uppercase; margin: 0 0 4px; }
.ae-service__item p { font-size: 12px; line-height: 1.5; margin: 0; }
.ae-service__item a { text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 767px) { .ae-service { grid-template-columns: 1fr; } .ae-service__item { border-left: 0; border-top: 1px solid var(--ae-line); padding: 18px var(--ae-pad); } .ae-service__item:first-child { border-top: 0; } }

/* ------------------------------------------------------------------ footer */
.ae-footer { background: var(--ae-surface); margin-top: 0; padding: 64px var(--ae-pad) 28px; font-size: 12px; }
.ae-footer__cols { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.25fr; gap: 40px; padding-bottom: 56px; }
.ae-footer h2 { font-family: var(--ae-font-body); font-stretch: normal; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--ae-muted); font-weight: 500; margin: 0 0 22px; }
.ae-footer p { line-height: 1.6; max-width: 300px; }
.ae-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ae-footer ul a { text-transform: uppercase; letter-spacing: .04em; font-size: 11.5px; }
.ae-footer ul a:hover { color: var(--ae-muted); }
.ae-footer .ae-link { font-size: 11px; }
.ae-news { display: flex; background: var(--ae-bg); border: 1px solid var(--ae-line); margin-top: 20px; max-width: 380px; }
.ae-news input[type="email"] { flex: 1; border: 0; background: transparent; padding: 16px 18px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; outline: none; min-width: 0; }
.ae-news button { border: 0; background: none; padding: 0 18px; display: inline-flex; align-items: center; }
.ae-news__ok { margin-top: 10px; font-size: 12px; }
.ae-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ae-footer__legal { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid var(--ae-line); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.ae-footer__legal a:hover { text-decoration: underline; }
@media (max-width: 1023px) { .ae-footer__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .ae-footer { padding-top: 40px; } .ae-footer__cols { grid-template-columns: 1fr; gap: 0; padding-bottom: 28px; }
  .ae-footer__col { border-bottom: 1px solid var(--ae-line); padding: 16px 0; }
  .ae-footer__col--news { border-bottom: 0; }
  .ae-footer h2 { margin: 0; color: var(--ae-ink); font-weight: 600; }
  .ae-footer__col:not(.ae-footer__col--news) h2 + * { margin-top: 14px; } }

/* ------------------------------------------------------------------ collection / archive */
.ae-coll-head { padding: 22px var(--ae-pad) 0; }
.ae-coll-head h1 { font-size: 26px; text-transform: uppercase; margin: 0; }
.ae-coll-head__desc { font-size: 13px; color: var(--ae-muted); max-width: 640px; margin: 6px 0 0; }
.ae-subcolls { display: grid; grid-auto-flow: column; grid-auto-columns: 180px; gap: 18px; overflow-x: auto; padding: 22px var(--ae-pad) 8px; scrollbar-width: none; }
.ae-subcolls::-webkit-scrollbar { display: none; }
.ae-subcoll img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: var(--ae-card); border-radius: 6px; margin-bottom: 10px; transition: opacity .2s; }
.ae-subcoll:hover img { opacity: .88; }
.ae-subcoll strong { display: block; font-size: 11.5px; text-transform: uppercase; letter-spacing: .03em; font-weight: 600; }
.ae-subcoll span { display: block; font-size: 11px; color: var(--ae-muted); line-height: 1.4; margin-top: 2px; }
.ae-subcoll.is-on strong { text-decoration: underline; text-underline-offset: 3px; }
.ae-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 26px var(--ae-pad) 20px; font-size: 12px; }
.ae-toolbar__cols { display: inline-flex; align-items: center; gap: 10px; }
.ae-toolbar__cols button { width: 13px; height: 13px; border: 1px solid var(--ae-ink); background: transparent; padding: 0; }
.ae-toolbar__cols button.is-on { background: var(--ae-ink); }
.ae-toolbar__filter { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 0; font-size: 12px; }
.ae-filter h3 { font-size: 12px; text-transform: uppercase; margin: 22px 0 10px; letter-spacing: .05em; }
.ae-filter ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.ae-filter li a { display: flex; justify-content: space-between; padding: 7px 0; font-size: 13px; text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid var(--ae-line); }
.ae-filter li a.is-on { font-weight: 700; }
.ae-filter select { width: 100%; padding: 12px; border: 1px solid var(--ae-line); background: var(--ae-bg); border-radius: 0; }
.woocommerce .woocommerce-pagination, .woocommerce-pagination { padding: 56px var(--ae-pad) 0; text-align: center; }
.woocommerce-pagination ul { list-style: none; display: inline-flex; gap: 6px; margin: 0; padding: 0; border: 0 !important; }
.woocommerce-pagination li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid var(--ae-line); font-size: 12px; }
.woocommerce-pagination .current { background: var(--ae-ink); color: var(--ae-bg); border-color: var(--ae-ink); }
.ae-empty { padding: 60px var(--ae-pad); text-align: center; text-transform: uppercase; font-size: 13px; letter-spacing: .05em; }
@media (max-width: 767px) { .ae-subcolls { grid-auto-columns: 128px; gap: 12px; } .ae-toolbar__cols { display: none; } }

/* ------------------------------------------------------------------ single product */
/* gallery ~58 %, gutter ~4 %, sticky details ~34 %, 4 % right margin: the two columns meet, no empty band between them */
.ae-pdp { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 34fr); column-gap: 4vw; padding-right: 4vw; align-items: start; }
.ae-pdp__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ae-gutter); padding: var(--ae-gutter) 0 0 0; }
.ae-pdp__gallery--one { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
/* WooCommerce's own layout CSS floats .summary right at 48 %: inside our column it must take the full width */
.woocommerce div.product.ae-pdp div.summary, .woocommerce-page div.product.ae-pdp div.summary, .ae-pdp .summary { float: none; width: auto; margin: 0; }
.ae-pdp__shot { position: relative; margin: 0; aspect-ratio: 2 / 3; overflow: hidden; background: var(--ae-card); }
.ae-pdp__shot img { width: 100%; height: 100%; object-fit: cover; }
.ae-pdp__shot--wide { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.ae-pdp__info { position: sticky; top: calc(var(--ae-announce-h) + var(--ae-header-h)); padding: 56px 0 48px; min-width: 0; }
.admin-bar .ae-pdp__info { top: calc(var(--ae-announce-h) + var(--ae-header-h) + 32px); }
.ae-crumbs { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--ae-muted); margin-bottom: 26px; }
.ae-crumbs a { text-decoration: underline; text-underline-offset: 2px; }
.ae-crumbs span { margin: 0 8px; }
.ae-pdp__title { font-size: 26px; text-transform: uppercase; margin: 0 0 18px; line-height: 1.2; }
.ae-pdp__price { font-size: 18px; font-weight: 600; margin-bottom: 18px; }
.ae-pdp__price del { color: var(--ae-muted); font-weight: 400; margin-right: 8px; }
.ae-pdp__price ins { text-decoration: none; }
.ae-pdp__short { font-size: 13px; line-height: 1.65; margin-bottom: 22px; color: #2a2a2a; }
.ae-pdp form.cart { margin: 0 0 18px; }
.ae-pdp form.cart:not(.variations_form), .ae-pdp .woocommerce-variation-add-to-cart { display: flex; gap: 8px; flex-wrap: wrap; }
.ae-pdp .quantity { display: inline-flex; }
.ae-pdp .quantity input.qty { width: 64px; height: 50px; text-align: center; border: 1px solid var(--ae-line); border-radius: 0; background: var(--ae-bg); }
.ae-pdp .single_add_to_cart_button { flex: 1; min-height: 50px; font-size: 12.5px; }
.ae-pdp .single_add_to_cart_button.disabled { opacity: .45; cursor: not-allowed; }
.ae-pdp table.variations { width: 100%; border-collapse: collapse; margin-bottom: 14px; }
.ae-pdp table.variations th, .ae-pdp table.variations td { display: block; padding: 0; text-align: left; border: 0; }
.ae-pdp table.variations th label { display: block; font-size: 12px; font-weight: 500; margin: 10px 0 8px; }
.ae-pdp table.variations td select.ae-hidden-select { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.ae-pdp table.variations td select:not(.ae-hidden-select) { width: 100%; padding: 12px; border: 1px solid var(--ae-line); border-radius: 0; background: var(--ae-bg); }
.ae-pdp .reset_variations { font-size: 11px; text-decoration: underline; display: inline-block; margin-top: 8px; }
.ae-opts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.ae-opt { min-height: 46px; padding: 6px; border: 1px solid var(--ae-line); background: var(--ae-bg); font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.ae-opt:hover { border-color: var(--ae-ink); }
.ae-opt.is-on { border: 2px solid var(--ae-ink); font-weight: 600; }
.ae-opt[disabled] { color: #b9b9b9; text-decoration: line-through; cursor: not-allowed; }
.ae-opts--colour { display: flex; flex-wrap: wrap; }
.ae-opts--colour .ae-opt { min-width: 74px; padding: 6px 12px; }
.ae-pdp .woocommerce-variation-price { margin: 4px 0 12px; font-weight: 600; }
.ae-pdp .stock { font-size: 12px; margin: 0 0 10px; }
.ae-pdp__assure { display: flex; gap: 18px; flex-wrap: wrap; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--ae-muted); margin: 6px 0 26px; }
.ae-pdp__assure span { display: inline-flex; align-items: center; gap: 6px; }
.ae-acc { border-top: 1px solid var(--ae-line); }
.ae-acc:last-of-type { border-bottom: 1px solid var(--ae-line); }
.ae-acc summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 18px 0; cursor: pointer;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.ae-acc summary::-webkit-details-marker { display: none; }
.ae-acc summary::after { content: "+"; font-size: 18px; font-weight: 300; line-height: 1; }
.ae-acc[open] summary::after { content: "\2212"; }
.ae-acc__body { padding: 0 0 20px; font-size: 13px; line-height: 1.7; }
.ae-acc__body p:last-child { margin-bottom: 0; }
.ae-acc__body table { width: 100%; border-collapse: collapse; }
.ae-acc__body th, .ae-acc__body td { text-align: left; padding: 6px 0; border-bottom: 1px solid var(--ae-line); font-size: 12px; }
.ae-related { padding-top: 72px; }
@media (max-width: 900px) {
  .ae-pdp { grid-template-columns: 1fr; padding-right: 0; column-gap: 0; }
  .ae-pdp__gallery--one { grid-auto-columns: 100%; }
  .ae-pdp__gallery { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 86%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0; }
  .ae-pdp__gallery::-webkit-scrollbar { display: none; }
  .ae-pdp__shot { scroll-snap-align: start; } .ae-pdp__shot--wide { grid-column: auto; aspect-ratio: 2 / 3; }
  .ae-pdp__info { position: static; padding: 24px var(--ae-pad) 8px; }
  .ae-opts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ------------------------------------------------------------------ pages, journal (designed content pages) */
.ae-intro, .aesq-page-intro { background: var(--ae-surface); padding: 64px var(--ae-pad) 56px; text-align: center; margin: 0 0 56px; }
.ae-intro__inner, .aesq-page-intro__inner { max-width: var(--ae-reading); margin: 0 auto; }
.ae-intro .ae-kicker, .aesq-page-intro .aesq-kicker { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--ae-muted); margin: 0 0 14px; }
.ae-intro h1, .aesq-page-title { font-size: var(--ae-fs-h1); text-transform: uppercase; margin: 0 0 14px; line-height: 1.12; }
.ae-intro .ae-standfirst, .aesq-standfirst { font-size: 16px; line-height: 1.6; margin: 0 auto; max-width: 620px; color: #333; }
.ae-reading, .aesq-page-body { max-width: var(--ae-reading); margin: 0 auto; padding: 0 var(--ae-pad) 24px; }
.ae-reading h2, .aesq-page-body h2 { font-size: 18px; text-transform: uppercase; margin: 2em 0 .7em; letter-spacing: .02em; }
.ae-reading h3, .aesq-page-body h3 { font-size: 14px; text-transform: uppercase; margin: 1.6em 0 .5em; }
.ae-reading p, .aesq-page-body p, .ae-reading li, .aesq-page-body li { font-size: 15px; line-height: 1.75; }
.ae-reading a, .aesq-page-body a { text-decoration: underline; text-underline-offset: 3px; }
.ae-reading ul, .aesq-page-body ul, .ae-reading ol, .aesq-page-body ol { padding-left: 1.2em; }
.ae-reading hr, .aesq-page-body hr { border: 0; border-top: 1px solid var(--ae-line); margin: 2.4em 0; }
.ae-reading img, .aesq-page-body img { margin: 1.6em 0; }
.ae-reading blockquote { margin: 1.8em 0; padding-left: 20px; border-left: 2px solid var(--ae-ink); font-size: 17px; }
.aesq-faq-list { margin: 12px 0 28px; border-top: 1px solid var(--ae-line); }
.aesq-qa { border-bottom: 1px solid var(--ae-line); }
.aesq-qa summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; font-family: var(--ae-font-heading); font-stretch: var(--ae-heading-stretch); font-weight: 600; font-size: 14px; text-transform: uppercase; letter-spacing: .02em; }
.aesq-qa summary::-webkit-details-marker { display: none; }
.aesq-qa summary::after { content: "+"; font-size: 20px; font-weight: 300; line-height: 1; flex: none; }
.aesq-qa[open] summary::after { content: "\2212"; }
.aesq-qa__a { padding: 0 0 20px; }
.aesq-qa__a p { font-size: 14.5px; }
.aesq-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 0 0 32px; }
.aesq-card { background: var(--ae-surface); padding: 32px; }
.aesq-contact h2 { margin-top: 0 !important; }
.aesq-contact__mail { font-size: 18px !important; font-weight: 600; margin-bottom: 18px; }
.aesq-contact address { font-style: normal; font-size: 14px; line-height: 1.7; }
.aesq-note { color: var(--ae-muted); font-size: 13px !important; }
.aesq-toc { background: var(--ae-surface); padding: 22px 26px; margin: 0 0 32px; }
.aesq-toc__title { font-size: 11px !important; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; margin-bottom: 10px !important; }
.aesq-toc ol { margin: 0; padding-left: 1.2em; }
.aesq-toc li { font-size: 14px !important; line-height: 1.8 !important; }
@media (max-width: 767px) { .aesq-contact { grid-template-columns: 1fr; } .ae-intro, .aesq-page-intro { padding: 40px var(--ae-pad) 36px; margin-bottom: 36px; } }
.ae-page-plain { padding: 0 var(--ae-pad) 40px; }
.ae-page-plain .ae-intro--slim { background: none; padding: 34px 0 28px; margin: 0; text-align: left; }
.ae-page-plain .ae-intro--slim h1 { font-size: 26px; margin: 0; }

.ae-journal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px var(--ae-gutter); padding: 0 var(--ae-edge); }
.ae-post-card__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--ae-card); }
.ae-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-post-card:hover img { transform: scale(1.03); }
.ae-post-card__body { padding: 14px 10px 0; }
.ae-post-card--text .ae-post-card__body { padding: 22px 18px; border-top: 2px solid var(--ae-ink); background: var(--ae-surface); }
.ae-post-card__meta { font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--ae-muted); }
.ae-post-card h2 { font-size: 16px; text-transform: uppercase; margin: 6px 0 8px; line-height: 1.25; }
.ae-post-card p { font-size: 13px; line-height: 1.6; color: #333; margin: 0; }
@media (max-width: 900px) { .ae-journal { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ae-journal { grid-template-columns: 1fr; } }
.ae-post-hero { max-width: 1200px; margin: 0 auto 48px; padding: 0 var(--ae-pad); }
.ae-post-hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--ae-card); }
.ae-reading .woocommerce, .aesq-page-body .woocommerce { margin: 2em 0; }
.ae-reading ul.products, .aesq-page-body ul.products { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px var(--ae-gutter); }
.ae-reading ul.products li { list-style: none; }
/* product cards inside a journal post / page ("Shop the edit"): exactly the shop's cards, not prose. The reading column's
   img margin (a grey strip above every photograph), underlined links and h3 margins (price above the name) stop here. */
.ae-reading .ae-grid, .aesq-page-body .ae-grid { padding: 0; margin: 1.4em 0 2em; row-gap: 32px; }
.ae-reading .pcard img, .aesq-page-body .pcard img { margin: 0; }
.ae-reading .pcard a, .aesq-page-body .pcard a { text-decoration: none; }
.ae-reading .pcard .pcard__meta, .aesq-page-body .pcard .pcard__meta { align-items: baseline; }
.ae-reading .pcard h3.pcard__name, .aesq-page-body .pcard h3.pcard__name { margin: 0; font-size: inherit; text-transform: inherit; letter-spacing: inherit; line-height: inherit; }
.ae-reading .pcard p, .aesq-page-body .pcard p { font-size: inherit; line-height: inherit; margin: 0; }

/* ------------------------------------------------------------------ WooCommerce notices, forms, cart + checkout blocks (styled, nothing hidden) */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { list-style: none; margin: 0 var(--ae-pad) 20px !important; padding: 14px 18px !important;
  background: var(--ae-surface) !important; border: 0 !important; border-left: 3px solid var(--ae-ink) !important; font-size: 13px; border-radius: 0 !important; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.woocommerce-error { border-left-color: #b42318 !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-page form .input-text {
  border: 1px solid var(--ae-line); border-radius: 0; padding: 12px; background: var(--ae-bg); width: 100%; }
.woocommerce form .form-row label { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.ae-shell { max-width: 1240px; margin: 0 auto; }
.wc-block-cart, .wc-block-checkout { font-family: var(--ae-font-body); }
.wc-block-cart .wc-block-cart__totals-title, .wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart-items__header {
  font-family: var(--ae-font-heading) !important; font-stretch: var(--ae-heading-stretch); text-transform: uppercase !important; letter-spacing: .04em; font-size: 13px !important; font-weight: 600 !important; }
.wc-block-components-product-name { text-transform: uppercase; font-size: 13px !important; letter-spacing: .03em; font-weight: 600; text-decoration: none !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select,
.wc-block-components-textarea { border-radius: 0 !important; border-color: var(--ae-line) !important; }
.wc-block-components-button:not(.is-link) { border-radius: var(--ae-radius) !important; min-height: 50px; }
.wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.wc-block-components-sidebar-layout { padding-bottom: 40px; }
.wc-block-cart-item__image img { aspect-ratio: 2 / 3; object-fit: cover; background: var(--ae-card); }
.wc-block-components-quantity-selector { border-radius: 0 !important; }
.woocommerce-cart .ae-page-plain .ae-intro--slim, .woocommerce-checkout .ae-page-plain .ae-intro--slim { padding-top: 34px; }
/* classic (shortcode) cart + checkout */
.woocommerce table.shop_table { border-radius: 0; border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th { text-transform: uppercase; font-size: 11.5px; letter-spacing: .05em; }
#payment { background: var(--ae-surface) !important; border-radius: 0 !important; }
#payment .payment_box { background: var(--ae-bg) !important; }
#payment .payment_box::before { border-bottom-color: var(--ae-bg) !important; }

/* 404 + search */
.ae-404 { text-align: center; padding: 80px var(--ae-pad) 20px; }
.ae-404 h1 { font-size: 40px; text-transform: uppercase; margin-bottom: 12px; }
.ae-404 form, .ae-search-page form { display: flex; gap: 8px; max-width: 520px; margin: 24px auto 0; }
.ae-404 input[type="search"], .ae-search-page input[type="search"] { flex: 1; border: 1px solid var(--ae-line); padding: 12px; border-radius: 0; }
.ae-results-label { padding: 0 var(--ae-pad); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--ae-muted); margin: 0 0 18px; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* lookbook + edits read as one cream block (as in the reference) */
.ae-look + .ae-edits { margin-top: 0; padding-top: 28px; }
