/*
 * The shop's look, loaded after style.css. 2026-10-30: from a quiet pattern sheet (cream paper,
 * thin serif, square edges) to a bright, commercial shop: white ground, her flag colours at full
 * strength as surfaces, Fraunces for Latin display and Noto Sans Ethiopic for Amharic headings,
 * rounded cards and pill buttons. The woven tibeb border stays as the brand's signature.
 */
:root {
  /* Bright and playful (owner's choice, 2026-10-30): coral is the signature colour, with sunflower,
     pink, teal and lilac, on cream; plum for type. Her flag colours stay in the pieces and the tibeb band. */
  --az-paper: #FFF8EE; --az-paper-2: #FFEFD9; --az-card: #FFFFFF; --az-ink: #2A1740; --az-ink-2: #4E3D62;
  --az-muted: #7C6B8A; --az-rule: #F0DFCB; --az-green: #FF5A4E; --az-gold: #FFC736; --az-red: #FF5A4E;
  --az-green-dark: #E5443A; --az-green-soft: #FFE1DC; --az-gold-soft: #FFE9A8; --az-red-soft: #FFE1DC; --az-cream: #FFEFD9;
  --pl-coral: #FF5A4E; --pl-coral-dark: #E5443A; --pl-sun: #FFC736; --pl-sun-soft: #FFE59A; --pl-pink: #FFB8CB; --pl-pink-soft: #FFDCE6;
  --pl-teal: #22B8A8; --pl-teal-soft: #B9EEE5; --pl-lilac: #C6B5FF; --pl-lilac-soft: #E5DCFF; --pl-plum: #2A1740;
  --pl-script: "Caveat", "Noto Sans Ethiopic", cursive;
  --az-display: "Bricolage Grotesque", "Noto Sans Ethiopic", system-ui, sans-serif;
  --az-ethiopic: "Abyssinica SIL", "Noto Serif Ethiopic", serif;            /* decorative Ethiopic lines */
  --az-am-display: "Noto Sans Ethiopic", "Abyssinica SIL", sans-serif;     /* Amharic headings, as chunky as the Latin */
  --az-text: "Noto Sans", "Noto Sans Ethiopic", system-ui, sans-serif;
  --az-radius: 22px; --az-shadow: none; --az-shadow-lift: 0 16px 30px rgba(42, 23, 64, .14);
  --sz-cream: var(--az-paper); --sz-paper: var(--az-paper-2); --sz-ink: var(--az-ink); --sz-muted: var(--az-muted); --sz-line: var(--az-rule);
  --sz-gold: var(--az-gold); --sz-radius: var(--az-radius); --sz-shadow: var(--az-shadow);
  --az-stitch: repeating-linear-gradient(90deg, var(--az-ink) 0 7px, transparent 7px 12px);
}
body {
  background-color: var(--az-paper); color: var(--az-ink); font-family: var(--az-text);
}
h1, h2, h3, .wp-block-post-title, .product_title, .woocommerce-loop-product__title {
  font-family: var(--az-display) !important; font-weight: 400 !important; letter-spacing: -.015em; text-wrap: balance; font-optical-sizing: auto; }
h2 { font-size: clamp(1.9rem, 3.2vw, 2.7rem); line-height: 1.08; }
:lang(am) h1, :lang(am) h2, :lang(am) h3, html[lang^="am"] h1, html[lang^="am"] h2, html[lang^="am"] h3 { font-family: var(--az-am-display) !important; font-weight: 600 !important; letter-spacing: 0; line-height: 1.3; }

/* Rounded, like a shop's cards; one radius everywhere. */
.sz-col, .sz-hero-img, .sz-step, .sz-cta, .sz-gift, .sz-tile, .sz-delivery, .sz-timeline, .sz-promise, .sz-step-l, .sz-form, .sz-table-wrap,
.wc-block-cart__sidebar, .wp-block-woocommerce-checkout-order-summary-block, .woocommerce form.login, .woocommerce form.register, .sz-finder-body,
.sz-ask-panel, .sz-msg, .sz-chip, .sz-chip-link, .sz-switch, .sz-switch a, .sz-news input[type=email], .sz-form input, .sz-form textarea,
.woocommerce ul.products li.product a img, .single-product .woocommerce-product-gallery__image img, .flex-control-thumbs img,
.wc-block-components-text-input input, .wc-blocks-components-select__select, .wc-block-components-radio-control__option,
.sz-maker-photo img, .sz-badge, .sz-holiday { border-radius: var(--az-radius) !important; }
.sz-switch, .sz-switch a, .sz-chip, .sz-chip-link, .sz-badge { border-radius: 2px !important; }

/* Buttons: deep green rectangles with small spaced capitals, as artisan fashion shops do. */
.az-btn, .sz-btn, .sz-button, .qt-btn, .woocommerce button.button, .woocommerce a.button, .single_add_to_cart_button,
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  border-radius: 2px !important; background: var(--az-green) !important; color: #fff !important; border: 1px solid var(--az-green) !important;
  font: 600 .78rem/1 var(--az-text) !important; letter-spacing: .16em !important; text-transform: uppercase; padding: 17px 30px !important;
  text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; box-shadow: none !important; transition: background .2s; }
.az-btn:hover, .sz-btn:hover, .sz-button:hover, .qt-btn:hover, .single_add_to_cart_button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover {
  background: var(--az-green-dark) !important; border-color: var(--az-green-dark) !important; }
:lang(am) .az-btn, :lang(am) .sz-btn, :lang(am) .sz-button, :lang(am) .qt-btn, html[lang^="am"] .az-btn, html[lang^="am"] .qt-btn, html[lang^="am"] .sz-button { letter-spacing: .02em !important; text-transform: none; font-size: .92rem !important; }
.az-btn.light { background: #fff !important; color: var(--az-ink) !important; border-color: #fff !important; }
.sz-btn.ghost, .sz-button.ghost { background: transparent !important; color: var(--az-ink) !important; border-color: var(--az-ink) !important; }
.sz-btn.ghost:hover, .sz-button.ghost:hover { background: var(--az-ink) !important; color: #fff !important; }
.az-textlink, .sz-link { font-weight: 600; color: var(--az-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px; background: none; border: 0; cursor: pointer; font-size: .98rem; padding: 0; }
.az-textlink:hover, .sz-link:hover { color: var(--az-green); }
.az-kicker, .sz-kicker, .sz-eyebrow { font: 600 .72rem/1.2 var(--az-text); letter-spacing: .22em; text-transform: uppercase; color: var(--az-muted); margin: 0 0 14px; }
:lang(am) .az-kicker, html[lang^="am"] .az-kicker { letter-spacing: .04em; font-size: .85rem; }
.az-muted { color: var(--az-muted); }

/* ---------- Header and footer: the woven border ---------- */
.sz-topband { height: 18px; background: url("assets/tibeb.svg") repeat-x left center / auto 18px; }
.sz-announce { background: var(--az-ink); font-size: .74rem; letter-spacing: .06em; }
.sz-header { background: color-mix(in srgb, var(--az-paper) 94%, transparent); border-bottom: 1px solid var(--az-rule); }
.sz-nav a { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; border-bottom-width: 1.5px; }
:lang(am) .sz-nav a, html[lang^="am"] .sz-nav a { letter-spacing: 0; text-transform: none; font-size: .95rem; }
.sz-nav a:hover, .sz-nav a[aria-current="page"] { border-color: var(--az-ink); }
.sz-switch { background: transparent; border: 1px solid var(--az-rule); padding: 2px; }
.sz-switch a.on { background: var(--az-ink); color: var(--az-paper); box-shadow: none; }
.sz-count { border-radius: 0; background: var(--az-red); }
.sz-footer { position: relative; background: var(--az-ink); }
.sz-footer::before { content: ""; display: block; height: 18px; background: url("assets/tibeb.svg") repeat-x left center / auto 18px; }
.sz-footer h4, .sz-footer .sz-foot-h { letter-spacing: .2em; }
.sz-news-band { background: var(--az-paper-2); border-top: 1px solid var(--az-rule); }
.sz-news-band h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.sz-news input[type=email] { border: 0; border-bottom: 1.5px solid var(--az-ink); background: transparent; padding-left: 2px; }

/* ---------- Home ---------- */
.az-hero { padding-block: 40px 56px; border-bottom: 1px solid var(--az-rule); }
.az-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.az-hero h1 { font-size: clamp(3rem, 6.4vw, 5.6rem); line-height: .95; margin: 0; }
:lang(am) .az-hero h1, html[lang^="am"] .az-hero h1 { font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1.15; }
.az-ethiopic { font-family: var(--az-ethiopic); font-size: clamp(2.2rem, 4.4vw, 3.8rem); color: var(--az-green); margin: 14px 0 18px; line-height: 1.1; }
.az-lede { font-size: 1.12rem; line-height: 1.65; max-width: 30em; color: var(--az-ink-2); margin: 0 0 30px; }
.az-actions { display: flex; flex-wrap: wrap; gap: 26px; align-items: center; }

.az-sheet { position: relative; margin: 0; padding: 22px 22px 14px; background: var(--az-card); border: 1px solid var(--az-rule); }
.az-sheet::before { content: ""; position: absolute; inset: 9px; border: 1.5px dashed var(--az-rule); pointer-events: none; }
.az-sheet-img { display: block; position: relative; }
.az-sheet-img img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; mix-blend-mode: multiply; }
.az-sheet-img .az-note, .az-note { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); width: 0; height: 0; z-index: 2; }
.az-note::before { content: ""; position: absolute; width: 9px; height: 9px; border: 2px solid var(--az-ink); background: var(--az-card); border-radius: 50%; transform: translate(-50%, -50%); }
.az-note > span { position: absolute; top: 0; transform: translateY(-50%); white-space: nowrap; font: italic 400 1.02rem/1.1 var(--az-display); color: var(--az-ink); background: var(--az-card); padding: 2px 6px; }
:lang(am) .az-note > span, html[lang^="am"] .az-note > span { font: 400 .86rem/1.2 var(--az-ethiopic); }
.az-note > span::before { content: ""; position: absolute; top: 50%; height: 1px; background: var(--az-ink); width: 42px; }
.az-note-r > span { left: 52px; } .az-note-r > span::before { right: 100%; }
.az-note-l > span { right: 52px; } .az-note-l > span::before { left: 100%; }
.az-sheet figcaption { margin-top: 10px; font: italic 1rem var(--az-display); color: var(--az-muted); display: flex; gap: 10px; flex-wrap: wrap; }
.az-sheet figcaption .amount { font-style: normal; font-family: var(--az-text); font-size: .88rem; color: var(--az-ink); }
@media (max-width: 1100px) { .az-note > span { font-size: .85rem; } .az-note > span::before { width: 22px; } .az-note-r > span { left: 30px; } .az-note-l > span { right: 30px; } }
@media (max-width: 900px) {
  .az-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .az-sheet { order: -1; }
  .az-note > span { display: none; } /* dots stay; labels would crowd a phone */
}

.az-calendar { border-bottom: 1px solid var(--az-rule); }
.az-calendar-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 0; align-items: stretch; }
.az-calendar-grid > div:first-child { padding: 30px 28px 30px 0; }
.az-calendar h2 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.15; margin: 0; }
.az-day { display: grid; align-content: start; gap: 2px; padding: 26px 24px; border-left: 1px solid var(--az-rule); }
.az-day-month { font: 600 .72rem var(--az-text); letter-spacing: .2em; text-transform: uppercase; color: var(--az-red); }
.az-day-num { font: 400 3.6rem/1 var(--az-display); }
:lang(am) .az-day-month, html[lang^="am"] .az-day-month { letter-spacing: 0; font: 400 1rem var(--az-ethiopic); }
.az-day b { font-family: var(--az-display); font-weight: 400; font-size: 1.3rem; margin-top: 6px; }
.az-day small { color: var(--az-green); font-weight: 600; font-size: .84rem; }
.az-day.late small { color: var(--az-red); }
@media (max-width: 900px) { .az-calendar-grid { grid-template-columns: 1fr 1fr 1fr; } .az-calendar-grid > div:first-child { grid-column: 1 / -1; padding: 26px 0 6px; } .az-day:first-of-type { border-left: 0; } .az-day { padding: 18px 12px; } .az-day-num { font-size: 2.6rem; } }

.az-section { padding-block: 72px; }
.az-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px 24px; margin-bottom: 34px; }
.az-head .az-kicker { grid-column: 1 / -1; margin: 0; }
.az-head h2 { margin: 0; }
.az-head > p.az-muted { grid-column: 1 / -1; max-width: 40em; margin: 6px 0 0; font-size: 1.05rem; line-height: 1.6; }

.az-catalogue { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 22px; }
.az-catalogue a { display: grid; gap: 4px; text-decoration: none; color: var(--az-ink); }
.az-plate { position: relative; display: block; background: var(--az-card); border: 1px solid var(--az-rule); padding: 10px; }
.az-plate img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; mix-blend-mode: multiply; }
.az-plate .az-plate-alt { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); opacity: 0; transition: opacity .3s; mix-blend-mode: normal; }
@media (hover: hover) { .az-catalogue a:hover .az-plate-alt { opacity: 1; } }
.az-no { font: italic 1rem var(--az-display); color: var(--az-muted); margin-top: 10px; }
.az-name { font: 400 1.32rem/1.12 var(--az-display); }
:lang(am) .az-name, html[lang^="am"] .az-name { font: 400 1.08rem/1.3 var(--az-ethiopic); }
.az-tagline { display: flex; gap: 12px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.az-tag, .single-product .summary .price {
  position: relative; display: inline-block; padding: 5px 12px 5px 20px; background: var(--az-paper-2); border: 1px solid var(--az-rule);
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%); font: 700 .88rem var(--az-text); }
.az-tag::before, .single-product .summary .price::before { content: ""; position: absolute; left: 7px; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--az-ink); transform: translateY(-50%); }
.az-timing { font-size: .8rem; color: var(--az-muted); }
@media (max-width: 900px) { .az-catalogue { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; } .az-name { font-size: 1.1rem; } }

.az-studio { background: var(--az-ink); color: var(--az-paper); }
.az-studio-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 48px; align-items: center; padding-block: 72px; }
.az-studio h2 { color: var(--az-paper); margin: 0 0 16px; }
.az-studio .az-kicker { color: var(--az-gold); }
.az-studio p { color: #D7CCBA; line-height: 1.65; margin: 0 0 28px; max-width: 32em; }
.az-flats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.az-flat { display: block; background: var(--az-paper); padding: 10px; border: 1px solid var(--az-paper); transition: transform .2s; }
.az-flat:hover { transform: translateY(-4px) rotate(-1deg); }
.az-flat svg { display: block; width: 100%; height: auto; }
@media (max-width: 900px) { .az-studio-grid { grid-template-columns: 1fr; } .az-flats { grid-template-columns: repeat(2, 1fr); } }

.az-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.az-strip figure { margin: 0; }
.az-strip img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; border: 1px solid var(--az-rule); }
.az-strip figcaption { font: italic 1rem/1.3 var(--az-display); margin-top: 8px; color: var(--az-ink-2); }
.az-strip figcaption span { color: var(--az-muted); margin-right: 4px; }
@media (max-width: 900px) { .az-strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 62%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; } .az-strip figure { scroll-snap-align: start; } }

.az-pattern { background: var(--az-card); border-block: 1px solid var(--az-rule); }
.az-pattern-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 56px; }
.az-pattern h2 { margin: 0 0 14px; }
.az-rows { list-style: none; margin: 0; padding: 0; display: grid; }
.az-rows li { display: grid; grid-template-columns: 90px 1fr 44px; gap: 18px; align-items: start; padding: 22px 0; border-top: 1.5px dashed var(--az-rule); }
.az-rows li:last-child { border-bottom: 1.5px dashed var(--az-rule); }
.az-row-no { font: italic 1.5rem/1 var(--az-display); color: var(--az-red); }
.az-rows b { font: 400 1.5rem/1.1 var(--az-display); }
.az-rows p { margin: 6px 0 0; color: var(--az-ink-2); line-height: 1.6; }
.az-chart { width: 40px; height: 40px; color: var(--az-green); }
@media (max-width: 800px) { .az-pattern-grid { grid-template-columns: 1fr; gap: 20px; } .az-rows li { grid-template-columns: 64px 1fr; } .az-chart { display: none; } }

.az-yarn-row { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 14px; }
.az-yarn-row li { display: grid; justify-items: center; text-align: center; gap: 2px; }
.az-ball { width: 100%; max-width: 92px; height: auto; filter: drop-shadow(0 6px 6px rgba(27,23,18,.15)); }
.az-yarn-row b { font: 400 1.05rem var(--az-display); margin-top: 6px; }
.az-yarn-row span { font: .9rem var(--az-ethiopic); color: var(--az-muted); }
@media (max-width: 900px) { .az-yarn-row { grid-template-columns: repeat(3, 1fr); } }

.az-maker-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.az-maker figure { margin: 0; padding: 12px; background: var(--az-card); border: 1px solid var(--az-rule); transform: rotate(-1.2deg); }
.az-maker figure img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.az-maker figcaption { font: italic .98rem var(--az-display); color: var(--az-muted); margin-top: 8px; }
.az-maker .az-maker-name { font: 400 clamp(2.8rem, 6vw, 5rem)/1 var(--az-ethiopic); color: var(--az-green); margin: 0 0 6px; }
.az-maker h2 { margin: 0 0 16px; }
.az-maker p { line-height: 1.7; font-size: 1.06rem; max-width: 32em; }
@media (max-width: 800px) { .az-maker-grid { grid-template-columns: 1fr; gap: 28px; } }

.az-gift { padding-top: 0; }
.az-gift-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; padding: 44px; border: 1px solid var(--az-rule); position: relative; }
.az-gift-grid::after { content: ""; position: absolute; inset: 7px; border: 1.5px dashed var(--az-rule); pointer-events: none; }
.az-gift h2 { margin: 0 0 12px; }
.az-gift p { line-height: 1.65; max-width: 34em; margin: 0; color: var(--az-ink-2); }
.az-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.az-checklist li { padding: 12px 0 12px 34px; border-bottom: 1px solid var(--az-rule); position: relative; font-weight: 600; }
.az-checklist li::before { content: ""; position: absolute; left: 4px; top: 50%; width: 14px; height: 7px; border-left: 2px solid var(--az-green); border-bottom: 2px solid var(--az-green); transform: translateY(-70%) rotate(-45deg); }
@media (max-width: 800px) { .az-gift-grid { grid-template-columns: 1fr; padding: 28px 22px; } }

/* ---------- Shop listing and product page ---------- */
.woocommerce ul.products li.product a img { border: 1px solid var(--az-rule); padding: 8px; background: var(--az-card); mix-blend-mode: multiply; box-sizing: border-box; }
.woocommerce ul.products li.product .sz-alt { padding: 8px; box-sizing: border-box; border-radius: 0 !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.3rem !important; }
.woocommerce ul.products li.product .price { font-weight: 700; }
.sz-badge { background: transparent; border: 1px solid var(--az-gold); color: #7A4F00; }
.sz-chip-link { border-radius: 0 !important; border-width: 1px; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
:lang(am) .sz-chip-link, html[lang^="am"] .sz-chip-link { letter-spacing: 0; text-transform: none; font-size: .9rem; }
.sz-shop .page-title, .sz-shop .woocommerce-products-header__title { font-size: clamp(2.6rem, 5vw, 4rem) !important; }
.single-product .woocommerce-product-gallery__image img { border: 1px solid var(--az-rule); background: var(--az-card); }
.single-product .product_title { font-size: clamp(2.4rem, 4vw, 3.4rem) !important; line-height: 1 !important; }
.single-product .summary .price { font-size: 1.05rem !important; margin: 4px 0 18px !important; }
.sz-timeline { background: transparent !important; border: 1.5px dashed var(--az-rule); }
.sz-timeline.mto { border-color: var(--az-gold); } .sz-timeline.stock { border-color: var(--az-green); }
.sz-chip { border-width: 1px; }
.sz-chip.on { background: var(--az-ink); box-shadow: 3px 3px 0 var(--az-gold); }
.sz-delivery { background: var(--az-card); }
.sz-design-own { display: flex; gap: 14px; align-items: center; margin: 4px 0 18px; padding: 14px 16px; border: 1px solid var(--az-rule); background: var(--az-card); text-decoration: none; color: var(--az-ink); }
.sz-design-own svg { width: 54px; height: auto; flex: none; }
.sz-design-own b { display: block; font: 400 1.25rem var(--az-display); }
.sz-design-own small { color: var(--az-muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-color: var(--az-ink); }

/* ---------- Content pages ---------- */
.sz-page .sz-page-head { border-bottom: 1px solid var(--az-rule); padding-bottom: 26px; margin-bottom: 34px; }
.sz-page .sz-page-head .sz-bands { display: none; }
.sz-page .wp-block-post-title { font-size: clamp(2.8rem, 6vw, 4.6rem) !important; line-height: .98; }
.sz-page-head::before { content: ""; display: block; width: 216px; height: 10px; margin-bottom: 22px; background: url("assets/tibeb-thin.svg") repeat-x left / auto 10px; }
.sz-prose h2 { font-size: clamp(1.7rem, 3vw, 2.2rem); }
.sz-faq details { border-bottom: 1.5px dashed var(--az-rule); }
.sz-faq summary { font: 400 1.3rem/1.2 var(--az-display); }
.sz-table thead th { background: var(--az-paper-2); }
.sz-form { background: var(--az-card); }

/* ---------- Design studio and shared design page ---------- */
.sz-design-page { padding-block: 34px 20px; }
.sz-studio-head, .sz-thread-head { border-bottom: 1px solid var(--az-rule); padding-bottom: 26px; margin-bottom: 30px; }
.sz-studio-head h1, .sz-thread-title { font-size: clamp(2.8rem, 6vw, 4.8rem); line-height: .95; margin: 0; }
.sz-studio-head .sz-ethiopic { font-family: var(--az-ethiopic); font-size: clamp(1.8rem, 3.4vw, 2.8rem); color: var(--az-green); margin: 10px 0 14px; }
.sz-lede { max-width: 44em; font-size: 1.08rem; line-height: 1.65; color: var(--az-ink-2); }
.sz-studio-grid, .sz-thread-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: start; }
.sz-board { position: sticky; top: 100px; }
.sz-paper { background: var(--az-card); border: 1px solid var(--az-rule); padding: 26px; position: relative;
  background-image: linear-gradient(var(--az-rule) 1px, transparent 1px), linear-gradient(90deg, var(--az-rule) 1px, transparent 1px); background-size: 24px 24px; background-position: -1px -1px; }
.sz-paper::before { content: ""; position: absolute; inset: 0; background: linear-gradient(var(--az-card), rgba(251,248,241,.78)); pointer-events: none; }
.sz-preview { position: relative; max-width: 420px; margin: 0 auto; }
.sz-preview svg { display: block; width: 100%; height: auto; }
.sz-part { cursor: pointer; }
.sz-pick-hint, .sz-version-label { position: relative; text-align: center; font: italic 1rem var(--az-display); color: var(--az-muted); margin: 12px 0 0; }
.sz-row-step { border: 0; border-top: 1.5px dashed var(--az-rule); margin: 0; padding: 22px 0 26px; min-width: 0; }
.sz-row-step legend { font: 400 1.6rem/1 var(--az-display); padding: 0 12px 0 0; }
.sz-row-step legend span { font-style: italic; color: var(--az-red); margin-right: 8px; }
.sz-garments { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; margin-top: 14px; }
.sz-garment { display: grid; gap: 4px; padding: 10px 8px; background: var(--az-card); border: 1px solid var(--az-rule); cursor: pointer; text-align: left; font: inherit; color: var(--az-ink); }
.sz-garment.on { border: 1.5px solid var(--az-ink); box-shadow: 4px 4px 0 var(--az-gold); }
.sz-garment-art svg { display: block; width: 100%; height: auto; }
.sz-garment b { font: 400 1.02rem/1.15 var(--az-display); }
.sz-garment small { color: var(--az-muted); font-size: .78rem; }
.sz-parts { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.sz-part-btn { display: inline-flex; gap: 8px; align-items: center; padding: 9px 12px; border: 1px solid var(--az-rule); background: var(--az-card); cursor: pointer; font: 600 .88rem var(--az-text); color: var(--az-ink); }
.sz-part-btn.on { border-color: var(--az-ink); background: var(--az-ink); color: var(--az-paper); }
.sz-dots { display: inline-flex; gap: 2px; }
.sz-dots i { width: 12px; height: 12px; border: 1px solid rgba(0,0,0,.35); display: block; }
.sz-dots i.on { outline: 2px solid var(--az-gold); outline-offset: 1px; }
.sz-yarns { display: grid; grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: 8px; }
.sz-yarn { display: grid; justify-items: center; gap: 2px; background: none; border: 1px solid transparent; padding: 6px 2px; cursor: pointer; font: .76rem var(--az-text); color: var(--az-ink); }
.sz-yarn:hover { border-color: var(--az-rule); background: var(--az-card); }
.sz-yarn svg { width: 40px; height: 40px; }
.sz-idea { margin-top: 18px; border: 1px solid var(--az-rule); background: var(--az-card); padding: 14px 16px; }
.sz-idea summary { cursor: pointer; font: italic 1.15rem var(--az-display); }
.sz-idea-out { font: italic 1.05rem/1.4 var(--az-display); color: var(--az-green); }
.sz-field { display: grid; gap: 6px; font-weight: 600; font-size: .9rem; margin-top: 12px; }
.sz-field input, .sz-field select, .sz-field textarea { font: inherit; font-weight: 400; padding: 11px 12px; border: 1px solid var(--az-rule); background: var(--az-card); border-radius: 0; width: 100%; box-sizing: border-box; }
.sz-field input:focus, .sz-field select:focus, .sz-field textarea:focus { outline: 2px solid var(--az-gold); outline-offset: 0; border-color: var(--az-ink); }
.sz-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.sz-send { border-top: 1px solid var(--az-rule); padding-top: 22px; }
.sz-send p { color: var(--az-muted); font-size: .9rem; }
.sz-send-out { font-weight: 700; color: var(--az-ink) !important; }
@media (max-width: 900px) { .sz-studio-grid, .sz-thread-grid { grid-template-columns: 1fr; } .sz-board { position: static; } .sz-two { grid-template-columns: 1fr; } }

.sz-steps-line { list-style: none; display: flex; gap: 0; padding: 0; margin: 20px 0 0; flex-wrap: wrap; }
.sz-steps-line li { font: 600 .74rem var(--az-text); letter-spacing: .14em; text-transform: uppercase; color: var(--az-muted); padding: 8px 14px; border: 1px solid var(--az-rule); margin-right: -1px; }
.sz-steps-line li.done { color: var(--az-green); }
.sz-steps-line li.now { background: var(--az-ink); color: var(--az-paper); border-color: var(--az-ink); }
.sz-maker-note { color: var(--az-red); font-weight: 600; }
.sz-versions { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; }
.sz-ver { flex: 0 0 84px; display: grid; gap: 2px; padding: 6px; background: var(--az-card); border: 1px solid var(--az-rule); cursor: pointer; font: .72rem var(--az-text); color: var(--az-ink); }
.sz-ver.on { border-color: var(--az-ink); box-shadow: 3px 3px 0 var(--az-gold); }
.sz-ver svg { width: 100%; height: auto; display: block; }
.sz-edit { margin-top: 16px; padding: 16px; border: 1.5px dashed var(--az-ink); background: var(--az-card); }
.sz-edit h3 { margin: 0; font-size: 1.4rem; }
.sz-row-actions { display: flex; gap: 18px; align-items: center; margin-top: 12px; }
.sz-edit-open { margin-top: 14px; }
.sz-card { background: var(--az-card); border: 1px solid var(--az-rule); padding: 18px 20px; margin: 0 0 16px; }
.sz-card h3 { margin: 0 0 6px; font-size: 1.5rem; }
.sz-brief-list { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1.5px dashed var(--az-rule); }
.sz-brief-list dt { font-weight: 700; font-size: .86rem; } .sz-brief-list dd { margin: 0; color: var(--az-ink-2); white-space: pre-wrap; }
.sz-quote-card { border: 1px solid var(--az-rule); }
.sz-quote-price { font: 400 2.2rem/1.1 var(--az-display); margin: 4px 0; }
.sz-quote-note, .sz-wait { color: var(--az-ink-2); font-style: italic; }
.sz-check { display: flex; gap: 8px; align-items: center; margin: 12px 0; font-size: .92rem; }
.sz-accept .sz-button { margin-top: 8px; }
.sz-messages { display: grid; gap: 10px; max-height: 420px; overflow-y: auto; padding: 4px 2px; margin-bottom: 12px; }
.sz-msg-row { padding: 12px 14px; border: 1px solid var(--az-rule); background: var(--az-card); max-width: 90%; }
.sz-msg-row.mine { justify-self: end; background: var(--az-paper-2); }
.sz-msg-row.shop { justify-self: center; border-style: dashed; font-style: italic; }
.sz-msg-row small { color: var(--az-muted); font-size: .76rem; }
.sz-msg-row p { margin: 4px 0 0; white-space: pre-wrap; }
/* Draw your own (2026-10-30): the mode switch, the drawing pad, and drawings in the conversation. */
/* The studio's own display rules (grid, flex) beat the browser's [hidden]; hidden must still hide. */
.sz-studio [hidden], .sz-thread [hidden] { display: none !important; }
.sz-mode { display: inline-flex; border: 1.5px solid var(--az-ink); margin-top: 14px; }
.sz-mode-btn { background: var(--az-card); border: 0; padding: 10px 16px; cursor: pointer; font: 600 .82rem/1 var(--az-text); letter-spacing: .08em; text-transform: uppercase; color: var(--az-ink); }
.sz-mode-btn + .sz-mode-btn { border-left: 1.5px solid var(--az-ink); }
.sz-mode-btn.on { background: var(--az-ink); color: var(--az-paper); }
.sz-draw { margin-top: 16px; display: grid; gap: 12px; }
.sz-draw-lede, .sz-draw-foot { margin: 0; color: var(--az-muted); }
.sz-pad { display: grid; gap: 10px; }
.sz-pad-stage { position: relative; border: 1px solid var(--az-rule); background: #fff; box-shadow: 4px 4px 0 var(--az-paper-2); }
.sz-pad-canvas { display: block; width: 100%; height: auto; aspect-ratio: 900 / 1020; touch-action: none; cursor: crosshair; }
.sz-pad-hint { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; pointer-events: none; font: italic 1.4rem var(--az-display); color: var(--az-rule); }
.sz-pad-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sz-pad-pens { display: flex; gap: 6px; }
.sz-pad-pen { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--az-card); box-shadow: 0 0 0 1px var(--az-rule); cursor: pointer; padding: 0; }
.sz-pad-pen.on { box-shadow: 0 0 0 2px var(--az-ink); }
.sz-pad-sizes { display: inline-flex; border: 1px solid var(--az-rule); }
.sz-pad-size, .sz-pad-tool { background: var(--az-card); border: 1px solid var(--az-rule); padding: 7px 10px; cursor: pointer; font: 600 .8rem var(--az-text); color: var(--az-ink); }
.sz-pad-size { border: 0; }
.sz-pad-size + .sz-pad-size { border-left: 1px solid var(--az-rule); }
.sz-pad-size.on, .sz-pad-tool.on { background: var(--az-ink); color: var(--az-paper); border-color: var(--az-ink); }
.sz-pad-upload { position: relative; overflow: hidden; }
.sz-pad-upload input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.sz-tidy-out { margin: 0; font: italic 1.05rem/1.4 var(--az-display); color: var(--az-green); }
.sz-draw-wait { margin: 40px 0; text-align: center; font: italic 1.2rem var(--az-display); color: var(--az-muted); position: relative; }
.sz-preview .sz-drawing, .sz-their-drawing img, .sz-msg-drawing img { display: block; width: 100%; height: auto; background: #fff; border: 1px solid var(--az-rule); }
.sz-their-drawing { margin: 16px 0 0; max-width: 220px; }
.sz-their-drawing figcaption { font-size: .8rem; color: var(--az-muted); margin-top: 4px; }
.sz-msg-drawing { display: block; margin-top: 8px; max-width: 240px; }
.sz-draw-open { margin: 4px 0 12px; }

.sz-empty { color: var(--az-muted); font-style: italic; }
.sz-compose { display: flex; gap: 10px; align-items: flex-end; }
.sz-compose textarea { flex: 1; font: inherit; padding: 11px 12px; border: 1px solid var(--az-rule); background: var(--az-card); border-radius: 0; }
.sz-studio-missing { padding: 60px 0; }

/* ---------- Assistant, square ---------- */
.sz-ask-open { border-radius: 0; box-shadow: 4px 4px 0 var(--az-gold); }
.sz-ask-panel { border-radius: 0 !important; border: 1px solid var(--az-rule); box-shadow: var(--az-shadow); }
.sz-ask-chips button { border-radius: 0; }
html[lang^="am"] .sz-studio-head .sz-ethiopic { display: none; } /* the heading is already Amharic */

/* ---------- Messages ---------- */
.sz-chat, .sz-chat-start { max-width: 860px; }
.sz-chat-head { display: flex; justify-content: space-between; gap: 20px; align-items: end; border-bottom: 1px solid var(--az-rule); padding-bottom: 20px; margin-bottom: 18px; }
.sz-chat-title { font-size: clamp(2rem, 4.4vw, 3.2rem); margin: 0; line-height: 1; }
.sz-chat-sub { color: var(--az-muted); margin: 8px 0 0; }
.sz-chat-piece { display: flex; gap: 10px; align-items: center; text-decoration: none; color: var(--az-ink); border: 1px solid var(--az-rule); background: var(--az-card); padding: 6px 12px 6px 6px; font-size: .88rem; font-weight: 600; flex: none; max-width: 260px; }
.sz-chat-piece img { width: 44px; height: 44px; object-fit: cover; }
.sz-chat-log { min-height: 300px; max-height: 60vh; overflow-y: auto; display: grid; gap: 10px; align-content: start; padding: 18px; background: var(--az-card); border: 1px solid var(--az-rule);
  background-image: linear-gradient(var(--az-rule) 1px, transparent 1px); background-size: 100% 32px; }
.sz-chat-day { justify-self: center; font: italic .92rem var(--az-display); color: var(--az-muted); background: var(--az-card); padding: 0 10px; margin: 4px 0; }
.sz-bubble { max-width: 78%; padding: 10px 14px; border: 1px solid var(--az-rule); background: #fff; }
.sz-bubble.mine { justify-self: end; background: var(--az-ink); color: var(--az-paper); border-color: var(--az-ink); }
.sz-bubble small { display: block; font-size: .72rem; opacity: .7; margin-bottom: 3px; }
.sz-bubble p { margin: 0; white-space: pre-wrap; line-height: 1.5; }
.sz-bubble img { display: block; max-width: 100%; max-height: 260px; margin-top: 8px; border: 1px solid rgba(0,0,0,.1); }
.sz-chat-form { display: flex; gap: 8px; align-items: stretch; margin-top: 12px; }
.sz-chat-form textarea { flex: 1; font: inherit; padding: 12px 14px; border: 1px solid var(--az-rule); background: var(--az-card); border-radius: 0; resize: vertical; min-height: 52px; }
.sz-chat-attach { display: grid; place-items: center; width: 52px; border: 1px solid var(--az-rule); cursor: pointer; font: 400 1.8rem var(--az-display); position: relative; }
.sz-chat-attach input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.sz-chat-note { color: var(--az-muted); font-size: .82rem; }
.sz-chat-start-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.sz-chat-about { font-weight: 600; }
.sz-chat-mine h2 { font-size: 1.6rem; margin: 0 0 10px; }
.sz-chat-mine ul { list-style: none; padding: 0; margin: 0; }
.sz-chat-mine a { display: grid; padding: 12px 0; border-bottom: 1.5px dashed var(--az-rule); text-decoration: none; color: var(--az-ink); }
.sz-chat-mine small { color: var(--az-muted); }
@media (max-width: 800px) { .sz-chat-head { flex-direction: column; align-items: start; } .sz-chat-start-grid { grid-template-columns: 1fr; } .sz-bubble { max-width: 90%; } }
@media (max-width: 600px) { .sz-msgs { display: none !important; } }

/* ---------- Love and share ---------- */
.sz-love { display: inline-flex; align-items: center; gap: 6px; background: var(--az-card); border: 1px solid var(--az-rule); padding: 7px 10px; cursor: pointer; color: var(--az-ink); font: 700 .82rem var(--az-text); line-height: 1; }
.sz-love svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s; }
.sz-love.on { color: var(--az-red); }
.sz-love.on svg { fill: var(--az-red); stroke: var(--az-red); }
.sz-love.pop svg { transform: scale(1.35); }
.sz-love-n:empty { display: none; }
.woocommerce ul.products li.product, .az-catalogue li { position: relative; }
.woocommerce ul.products li.product > .sz-love, .az-catalogue li > .sz-love { position: absolute; top: 18px; right: 18px; z-index: 3; padding: 7px; background: rgba(251,248,241,.92); border-color: var(--az-rule); }
.az-catalogue li > .sz-love { top: 20px; right: 20px; }
.sz-social { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: -4px 0 16px; }
.sz-love-label { font-size: .86rem; color: var(--az-muted); }
.sz-share { position: relative; margin-left: auto; }
.sz-share-btn { display: inline-flex; gap: 8px; align-items: center; background: none; border: 0; border-bottom: 1.5px solid var(--az-ink); padding: 4px 0; cursor: pointer; font: 600 .9rem var(--az-text); color: var(--az-ink); }
.sz-share-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sz-share-menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; display: grid; min-width: 180px; background: var(--az-card); border: 1px solid var(--az-rule); box-shadow: 6px 6px 0 rgba(27,23,18,.12); }
.sz-share-menu[hidden] { display: none; }
.sz-share-menu a, .sz-share-menu button { padding: 11px 14px; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--az-rule); font: 600 .9rem var(--az-text); color: var(--az-ink); text-decoration: none; cursor: pointer; }
.sz-share-menu a:hover, .sz-share-menu button:hover { background: var(--az-paper-2); }
.sz-saved-empty { font-size: 1.05rem; }
.woocommerce .woocommerce-ordering select { border-radius: 0 !important; border-color: var(--az-ink); }

/* ================= Custom orders: a commission page ================= */
.cp, .fr, .ab { padding-bottom: 20px; }
.cp-hero, .fr-hero > div:first-child { padding: 10px 0 34px; max-width: 760px; }
.cp-hero h1, .fr-hero h1 { font-size: clamp(3.2rem, 7vw, 6rem); line-height: .92; margin: 0; }
.cp-ethiopic { font: 400 clamp(1.9rem, 3.6vw, 3rem)/1.1 var(--az-ethiopic); color: var(--az-green); margin: 10px 0 18px; }
html[lang^="am"] .cp-ethiopic { display: none; }
.cp-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--az-rule); margin-bottom: 64px; }
.cp-path { position: relative; display: grid; gap: 10px; align-content: start; padding: 34px 34px 30px; text-decoration: none; color: var(--az-ink); background: var(--az-card); transition: background .2s; }
.cp-path + .cp-path { border-left: 1px solid var(--az-rule); }
.cp-path:hover { background: var(--az-paper-2); }
.cp-path-no { position: absolute; top: 18px; right: 22px; font: italic 3.4rem/1 var(--az-display); color: var(--az-red); }
.cp-flats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 360px; height: 170px; }
.cp-flats svg { width: 100%; height: 100%; }
.cp-sketch svg { width: 100%; max-width: 340px; height: 170px; }
.cp-path h2 { font-size: clamp(1.7rem, 2.8vw, 2.3rem); margin: 8px 0 0; }
.cp-path p { margin: 0; color: var(--az-ink-2); line-height: 1.6; max-width: 32em; }
@media (max-width: 800px) { .cp-paths { grid-template-columns: 1fr; } .cp-path + .cp-path { border-left: 0; border-top: 1px solid var(--az-rule); } }

.cp-planner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 40px; align-items: start; padding: 40px 0; border-top: 1px solid var(--az-rule); }
.cp-planner h2 { margin: 0 0 12px; }
.cp-planner-tool { background: var(--az-card); border: 1px solid var(--az-rule); padding: 22px 24px; }
.cp-quick { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.cp-quick button { border: 1px solid var(--az-rule); background: var(--az-paper); padding: 7px 11px; cursor: pointer; font: 600 .82rem var(--az-text); color: var(--az-ink); }
.cp-quick button:hover { border-color: var(--az-ink); }
.cp-result { margin-top: 18px; padding-top: 16px; border-top: 1.5px dashed var(--az-rule); }
.cp-result-kicker { margin: 0; font: 600 .72rem var(--az-text); letter-spacing: .2em; text-transform: uppercase; color: var(--az-muted); }
.cp-result-date { margin: 4px 0 0; font: 400 clamp(1.8rem, 3vw, 2.4rem)/1.05 var(--az-display); }
.cp-result-eth { margin: 4px 0 0; font: 1.1rem var(--az-ethiopic); color: var(--az-green); }
.cp-result-note { margin: 10px 0 0; font-weight: 600; }
.cp-result.tight .cp-result-note { color: #8A5A00; } .cp-result.late .cp-result-note { color: var(--az-red); }
@media (max-width: 800px) { .cp-planner { grid-template-columns: 1fr; gap: 18px; } }

.cp-tape-section { padding: 46px 0 70px; border-top: 1px solid var(--az-rule); }
.cp-tape-section h2 { margin: 0 0 40px; }
.cp-tape { position: relative; height: 230px; margin: 0 12px; }
.cp-tape::before { content: ""; position: absolute; left: -12px; right: -12px; top: 0; height: 46px; background: #E9C15A;
  border: 1px solid var(--az-rule); box-shadow: inset 0 -6px 0 rgba(0,0,0,.06); }
.cp-ticks span { position: absolute; top: 0; left: calc(var(--w) / 6 * 100%); height: 46px; border-left: 2px solid var(--az-ink); }
.cp-ticks i { position: absolute; top: 16px; left: 6px; font: 700 .92rem var(--az-text); font-style: normal; }
.cp-tape::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 16px;
  background: repeating-linear-gradient(90deg, var(--az-ink) 0 1.5px, transparent 1.5px calc(100% / 24)); opacity: .55; }
.cp-tape-unit { position: absolute; right: -12px; top: -28px; font: italic 1rem var(--az-display); color: var(--az-muted); }
.cp-pin { position: absolute; top: 46px; left: calc(var(--w) / 6 * 100%); width: 170px; transform: translateX(-12px); padding-top: 34px; display: grid; gap: 4px; }
.cp-pin::before { content: ""; position: absolute; left: 11px; top: 0; height: 30px; border-left: 1.5px dashed var(--az-ink); }
.cp-pin-dot { position: absolute; left: 5px; top: 26px; width: 14px; height: 14px; border-radius: 50%; background: var(--az-red); border: 2px solid var(--az-ink); }
.cp-pin b { font: 400 1.25rem/1.1 var(--az-display); margin-top: 12px; }
.cp-pin small { color: var(--az-ink-2); font-size: .84rem; line-height: 1.45; }
.cp-pin:nth-child(even) { padding-top: 104px; } .cp-pin:nth-child(even)::before { height: 100px; } .cp-pin:nth-child(even) .cp-pin-dot { top: 96px; }
.cp-pin-end { transform: translateX(calc(-100% + 12px)); text-align: right; }
.cp-pin-end::before { left: auto; right: 11px; } .cp-pin-end .cp-pin-dot { left: auto; right: 5px; }
@media (max-width: 900px) {
  .cp-tape { height: auto; margin: 0; padding-left: 64px; }
  .cp-tape::before { left: 0; right: auto; top: 0; bottom: 0; width: 46px; height: auto; }
  .cp-tape::after { top: 0; bottom: 0; left: 0; width: 16px; height: auto; background: repeating-linear-gradient(180deg, var(--az-ink) 0 1.5px, transparent 1.5px 20px); }
  .cp-ticks, .cp-tape-unit { display: none; }
  .cp-pin, .cp-pin:nth-child(even), .cp-pin-end { position: relative; left: 0; top: 0; width: auto; transform: none; text-align: left; padding: 0 0 24px; }
  .cp-pin::before, .cp-pin:nth-child(even)::before { display: none; }
  .cp-pin-dot, .cp-pin:nth-child(even) .cp-pin-dot, .cp-pin-end .cp-pin-dot { left: -42px; right: auto; top: 14px; }
}

.cp-slip-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 44px; align-items: start; padding: 40px 0 60px; border-top: 1px solid var(--az-rule); }
.cp-send h2 { margin: 0 0 16px; }
.cp-checks { list-style: none; margin: 0 0 18px; padding: 0; }
.cp-checks li { padding: 12px 0 12px 34px; border-bottom: 1.5px dashed var(--az-rule); position: relative; line-height: 1.5; }
.cp-checks li::before { content: ""; position: absolute; left: 0; top: 14px; width: 18px; height: 18px; border: 1.5px solid var(--az-ink); }
.cp-slip { position: relative; background: #FFFDF8; border: 1px solid var(--az-rule); padding: 30px 30px 26px; box-shadow: var(--az-shadow);
  background-image: linear-gradient(90deg, transparent 52px, rgba(179,38,30,.25) 52px 53.5px, transparent 53.5px); }
.cp-slip::before { content: ""; position: absolute; left: -1.5px; right: -1.5px; top: -9px; height: 9px;
  background: radial-gradient(circle at 6px 9px, transparent 4px, var(--az-ink) 4.5px, var(--az-ink) 5px, transparent 5.5px) repeat-x 0 0 / 14px 9px; }
.cp-slip-head { display: flex; justify-content: space-between; gap: 10px; font: 600 .74rem var(--az-text); letter-spacing: .2em; text-transform: uppercase; border-bottom: 1px solid var(--az-rule); padding-bottom: 10px; margin-bottom: 6px; }
.cp-slip-head .sz-am { letter-spacing: 0; font-size: .95rem; text-transform: none; }
.cp-slip .sz-field input, .cp-slip .sz-field textarea { background: transparent; border: 0; border-bottom: 1.5px solid var(--az-ink); padding-left: 2px; }
.cp-slip .sz-field textarea { border: 1.5px solid var(--az-rule); background: repeating-linear-gradient(transparent 0 27px, var(--az-rule) 27px 28px); line-height: 28px; padding: 0 8px; }
.cp-slip-foot { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 22px; }
.cp-slip-foot p { margin: 0; color: var(--az-muted); font-size: .86rem; max-width: 26em; }
@media (max-width: 900px) { .cp-slip-grid { grid-template-columns: 1fr; } .cp-slip { padding: 24px 18px; background-image: none; } }

.cp-fine { padding: 40px 0; border-top: 1px solid var(--az-rule); }
.cp-fine h2 { font-size: 1.7rem; margin: 0 0 20px; }
.cp-fine-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.cp-fine-grid h3 { font-size: 1.25rem; margin: 0 0 6px; }
.cp-fine-grid p { margin: 0; font-size: .92rem; line-height: 1.65; color: var(--az-ink-2); }
@media (max-width: 800px) { .cp-fine-grid { grid-template-columns: 1fr; } }

/* ================= Size guide: a fitting room ================= */
.fr-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding-bottom: 50px; border-bottom: 1px solid var(--az-rule); }
.fr-tool { background: var(--az-card); border: 1px solid var(--az-rule); padding: 24px; box-shadow: var(--az-shadow); display: grid; gap: 12px; }
.fr-tabs { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--az-rule); width: fit-content; }
.fr-tabs [role=tab] { border: 0; background: transparent; padding: 10px 14px; cursor: pointer; font: 600 .8rem var(--az-text); letter-spacing: .08em; text-transform: uppercase; color: var(--az-ink); }
.fr-tabs [role=tab] + [role=tab] { border-left: 1px solid var(--az-rule); }
.fr-tabs [aria-selected=true] { background: var(--az-ink); color: var(--az-paper); }
html[lang^="am"] .fr-tabs [role=tab] { text-transform: none; letter-spacing: 0; font-size: .92rem; }
.fr-units { display: flex; gap: 16px; font-size: .9rem; }
.fr-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0 12px; }
.fr-fields[hidden] { display: none; }
.fr-result { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 18px; align-items: end; padding: 14px 0 4px; border-top: 1.5px dashed var(--az-rule); }
.fr-result-kicker { grid-column: 1 / -1; font: 600 .72rem var(--az-text); letter-spacing: .2em; text-transform: uppercase; color: var(--az-muted); }
.fr-result-size { font: 400 4.4rem/1 var(--az-display); min-width: 1.4em; }
.fr-result-note { color: var(--az-ink-2); font-weight: 600; padding-bottom: 10px; }
.fr-result-links { display: flex; gap: 20px; flex-wrap: wrap; }
@media (max-width: 900px) { .fr-hero { grid-template-columns: 1fr; } }

.fr-measure { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 50px; align-items: start; padding: 56px 0; border-bottom: 1px solid var(--az-rule); }
.fr-form { margin: 0; position: sticky; top: 110px; background: var(--az-card); border: 1px solid var(--az-rule); padding: 20px;
  background-image: linear-gradient(var(--az-rule) 1px, transparent 1px), linear-gradient(90deg, var(--az-rule) 1px, transparent 1px); background-size: 20px 20px; }
.fr-form svg { display: block; width: 100%; max-width: 330px; margin: 0 auto; }
.fr-form figcaption { font: italic 1rem var(--az-display); color: var(--az-muted); text-align: center; margin-top: 8px; }
.fr-line { transition: opacity .2s; }
.fr-form svg:has(.fr-line.on) .fr-line:not(.on) { opacity: .2; }
.fr-line.on path { stroke: var(--az-red); stroke-width: 6; }
.fr-measure h2 { margin: 0 0 12px; }
.fr-steps { list-style: none; margin: 18px 0; padding: 0; }
.fr-steps li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; padding: 14px 10px 14px 0; border-top: 1.5px dashed var(--az-rule); cursor: default; outline: none; }
.fr-steps li:focus-visible, .fr-steps li:hover { background: var(--az-card); }
.fr-no { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--az-ink); color: var(--az-paper); font: 700 .85rem var(--az-text); }
.fr-steps b { font: 400 1.35rem var(--az-display); }
.fr-steps p { margin: 2px 0 0; color: var(--az-ink-2); line-height: 1.55; }
.fr-tip { padding: 14px 16px; border-left: 3px solid var(--az-gold); background: var(--az-card); font-style: italic; }
@media (max-width: 900px) { .fr-measure { grid-template-columns: 1fr; } .fr-form { position: static; } }

.fr-charts { padding: 56px 0; border-bottom: 1px solid var(--az-rule); }
.fr-charts-head { display: flex; justify-content: space-between; align-items: end; gap: 20px; flex-wrap: wrap; margin-bottom: 18px; }
.fr-charts-head h2 { margin: 0; }
.fr-chart[hidden] { display: none; }
.fr-chart { margin-top: 16px; }
.fr-table { border-collapse: collapse; width: 100%; min-width: 520px; font-variant-numeric: tabular-nums; }
.fr-table th, .fr-table td { padding: 13px 16px; border-bottom: 1px solid var(--az-rule); text-align: left; white-space: nowrap; }
.fr-table thead th { background: var(--az-ink); color: var(--az-paper); font: 600 .78rem var(--az-text); letter-spacing: .08em; text-transform: uppercase; }
.fr-table tbody th { font: 400 1.35rem var(--az-display); position: sticky; left: 0; background: var(--az-card); }
.fr-table tbody tr:hover td, .fr-table tbody tr:hover th { background: var(--az-paper-2); }
.fr-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 46px 0; }
.fr-notes h3 { font-size: 1.5rem; margin: 6px 0 8px; }
.fr-notes p { color: var(--az-ink-2); line-height: 1.6; }
.fr-stretch svg { width: 170px; height: auto; }
@media (max-width: 800px) { .fr-notes { grid-template-columns: 1fr; } }

/* ================= About: a portrait of the work ================= */
.ab-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr); gap: 50px; align-items: center; padding: 10px 0 60px; border-bottom: 1px solid var(--az-rule); }
.ab-name { font: 400 clamp(4.4rem, 11vw, 9.5rem)/.95 var(--az-ethiopic); color: var(--az-green); margin: 0 0 10px; letter-spacing: -.01em; }
.ab-hero h1 { font-size: clamp(2rem, 3.6vw, 3rem); margin: 0 0 18px; }
html[lang^="am"] .ab-hero h1 { display: none; }
.ab-pinned { margin: 0; padding: 14px 14px 10px; background: #fff; border: 1px solid var(--az-rule); transform: rotate(2deg); box-shadow: 0 18px 30px rgba(27,23,18,.12); position: relative; }
.ab-pinned::before { content: ""; position: absolute; top: -12px; left: 50%; width: 92px; height: 26px; transform: translateX(-50%) rotate(-3deg); background: rgba(233,168,37,.55); }
.ab-pinned img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.ab-pinned figcaption { font: italic 1rem var(--az-display); color: var(--az-muted); margin-top: 8px; }
@media (max-width: 900px) { .ab-hero { grid-template-columns: 1fr; } .ab-pinned { max-width: 420px; } }

.ab-words { padding: 60px 0; }
.ab-first { margin: 0 0 40px; font: italic 400 clamp(2.2rem, 4.6vw, 3.8rem)/1.08 var(--az-display); max-width: 18em; position: relative; padding-left: 0; }
.ab-first::before { content: "\201C"; position: absolute; left: -.5em; top: -.15em; color: var(--az-gold); font-size: 1.6em; }
html[lang^="am"] .ab-first { font: 400 clamp(1.8rem, 3.4vw, 2.8rem)/1.35 var(--az-ethiopic); }
.ab-cols { columns: 3 260px; column-gap: 40px; column-rule: 1.5px dashed var(--az-rule); }
.ab-cols p { margin: 0 0 18px; break-inside: avoid; font-size: 1.05rem; line-height: 1.75; }
.ab-mark { font: italic 1.3rem var(--az-display); color: var(--az-red); }

.ab-numbers { background: var(--az-ink); color: var(--az-paper); }
.ab-numbers::before, .ab-numbers::after { content: ""; display: block; height: 18px; background: url("assets/tibeb.svg") repeat-x left center / auto 18px; }
.ab-numbers-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 44px; }
.ab-numbers-grid div { padding: 0 24px; border-left: 1px solid rgba(246,240,228,.2); display: grid; gap: 6px; }
.ab-numbers-grid div:first-child { border-left: 0; padding-left: 0; }
.ab-numbers b { font: 400 clamp(3.4rem, 6vw, 5rem)/1 var(--az-display); color: var(--az-gold); }
.ab-numbers span { color: #D7CCBA; line-height: 1.5; }
@media (max-width: 800px) { .ab-numbers-grid { grid-template-columns: 1fr 1fr; gap: 28px 0; } .ab-numbers-grid div:nth-child(3) { border-left: 0; padding-left: 0; } }

.ab-sheet { padding: 64px 0; }
.ab-frames { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: var(--az-ink); padding: 26px 18px; }
.ab-frame { position: relative; display: block; padding: 16px 8px 34px; text-decoration: none; }
.ab-frame img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.95); transition: filter .3s, transform .3s; }
.ab-frame:hover img { filter: saturate(1.1); transform: scale(1.02); }
.ab-frame-no { position: absolute; top: 0; left: 8px; font: 700 .7rem var(--az-text); letter-spacing: .14em; color: var(--az-gold); }
.ab-frame-cap { position: absolute; left: 8px; right: 8px; bottom: 8px; font: italic .92rem var(--az-display); color: #D7CCBA; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ab-frames::before { content: none; }
@media (max-width: 800px) { .ab-frames { grid-template-columns: 1fr 1fr; padding: 18px 8px; } }

.ab-promise { padding: 50px 0; border-top: 1px solid var(--az-rule); }
.ab-promise h2 { margin: 0 0 24px; }
.ab-promise ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ab-promise li { padding: 22px; border: 1.5px dashed var(--az-ink); background: var(--az-card); display: grid; gap: 10px; }
.ab-promise li p { margin: 0; font: 400 1.4rem/1.2 var(--az-display); }
@media (max-width: 800px) { .ab-promise ol { grid-template-columns: 1fr; } }
.ab-next { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--az-rule); margin: 10px 0 30px; }
.ab-next-card { padding: 26px 24px; text-decoration: none; color: var(--az-ink); display: grid; gap: 6px; transition: background .2s; }
.ab-next-card + .ab-next-card { border-left: 1px solid var(--az-rule); }
.ab-next-card:hover { background: var(--az-ink); color: var(--az-paper); }
.ab-next-card b { font: 400 1.9rem/1.05 var(--az-display); }
.ab-next-card .az-kicker { margin: 0; }
@media (max-width: 800px) { .ab-next { grid-template-columns: 1fr; } .ab-next-card + .ab-next-card { border-left: 0; border-top: 1px solid var(--az-rule); } }

/* ================= Messenger ================= */
.mx { display: grid; grid-template-columns: 340px minmax(0, 1fr); height: calc(100vh - 230px); min-height: 520px; border: 1px solid var(--az-rule); background: var(--az-card); margin: 10px 0 30px; }
.mx-list { border-right: 1px solid var(--az-rule); display: flex; flex-direction: column; min-height: 0; }
.mx-list-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 18px 8px; }
.mx-list-head h1 { font-size: 2rem; margin: 0; }
.mx-new-btn:not(.az-btn) { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--az-rule); background: var(--az-paper); cursor: pointer; }
.mx-new-btn svg, .mx-tool svg, .mx-send svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.mx-staff-note { margin: 0 18px 6px; font-size: .8rem; color: var(--az-red); font-weight: 600; }
.mx-search { padding: 0 18px 10px; }
.mx-search input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--az-rule); background: var(--az-paper); font: inherit; }
.mx-threads { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; }
.mx-thread { width: 100%; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 18px; background: none; border: 0; border-top: 1px solid var(--az-rule); text-align: left; cursor: pointer; font: inherit; color: var(--az-ink); }
.mx-thread:hover { background: var(--az-paper); } .mx-thread.on { background: var(--az-paper-2); box-shadow: inset 3px 0 0 var(--az-ink); }
.mx-thread-mid { display: grid; min-width: 0; }
.mx-thread-mid b { font-weight: 600; } .mx-thread.unread .mx-thread-mid b, .mx-thread.unread .mx-thread-last { font-weight: 800; color: var(--az-ink); }
.mx-thread-subject { color: var(--az-muted); font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mx-thread-last { color: var(--az-muted); font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mx-thread-side { display: grid; justify-items: end; gap: 4px; font-size: .74rem; color: var(--az-muted); }
.mx-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--az-red); color: #fff; font: 700 .72rem/20px var(--az-text); text-align: center; }
.mx-avatar { position: relative; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--az-green); color: var(--az-paper); font: 700 .95rem var(--az-text); flex: none; }
.mx-avatar.shop { background: var(--az-paper); border: 1.5px solid var(--az-rule); } .mx-avatar img { width: 34px; height: 34px; }
.mx-avatar.online::after { content: ""; position: absolute; right: 1px; bottom: 1px; width: 12px; height: 12px; border-radius: 50%; background: #2DB45A; border: 2px solid var(--az-card); }
.mx-empty-list { padding: 8px 18px 18px; color: var(--az-muted); }
.mx-empty-list p { margin: 0 0 14px; line-height: 1.5; }
.mx-empty-list[hidden], .mx-empty-list [hidden] { display: none; }
.mx-threads:empty { flex: 0; }
@media (min-width: 801px) { .mx-empty-btn { display: none; } }

.mx-chat { display: flex; flex-direction: column; min-height: 0; min-width: 0; }
.mx-placeholder { margin: auto; text-align: center; padding: 30px; max-width: 420px; }
.mx-placeholder h2 { margin: 14px 0 8px; } .mx-placeholder p { color: var(--az-muted); margin: 0 0 20px; }
.mx-room, .mx-start { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.mx-room[hidden], .mx-start[hidden], .mx-placeholder[hidden] { display: none; }
.mx-room-head { display: flex; gap: 12px; align-items: center; padding: 12px 18px; border-bottom: 1px solid var(--az-rule); background: var(--az-card); }
.mx-room-head .mx-avatar { width: 42px; height: 42px; }
.mx-room-who { display: grid; min-width: 0; } .mx-room-who b { font: 400 1.35rem/1.1 var(--az-display); } .mx-room-who small { color: var(--az-muted); font-size: .8rem; }
.mx-room-piece { margin-left: auto; display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--az-ink); font-size: .82rem; font-weight: 600; border: 1px solid var(--az-rule); padding: 4px 10px 4px 4px; max-width: 220px; }
.mx-room-piece img { width: 34px; height: 34px; object-fit: cover; }
.mx-back { display: none; background: none; border: 0; font-size: 1.5rem; cursor: pointer; padding: 0 6px 0 0; color: var(--az-ink); }
.mx-log { flex: 1; overflow-y: auto; padding: 18px 20px 8px; display: flex; flex-direction: column; gap: 3px; background: var(--az-paper); }
.mx-day { align-self: center; margin: 14px 0 8px; font: 600 .72rem var(--az-text); letter-spacing: .12em; text-transform: uppercase; color: var(--az-muted); }
.mx-row { position: relative; display: flex; flex-direction: column; max-width: 72%; margin-top: 8px; }
.mx-row.cont { margin-top: 0; }
.mx-row.mine { align-self: flex-end; align-items: flex-end; } .mx-row.theirs { align-self: flex-start; align-items: flex-start; }
.mx-bubble { padding: 9px 14px; border-radius: 20px; background: #fff; border: 1px solid var(--az-rule); line-height: 1.45; overflow-wrap: anywhere; }
.mx-row.mine .mx-bubble { background: var(--az-ink); color: var(--az-paper); border-color: var(--az-ink); }
.mx-row.mine.cont .mx-bubble { border-top-right-radius: 6px; } .mx-row.theirs.cont .mx-bubble { border-top-left-radius: 6px; }
.mx-bubble p { margin: 0; white-space: pre-wrap; }
.mx-quote { display: block; font-size: .8rem; opacity: .75; border-left: 3px solid var(--az-gold); padding-left: 8px; margin: 2px 0 6px; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mx-photo img { display: block; max-width: 260px; max-height: 300px; border-radius: 14px; margin: 2px 0; }
.mx-card { display: flex; gap: 10px; align-items: center; text-decoration: none; color: inherit; background: rgba(255,255,255,.08); border: 1px solid currentColor; border-radius: 14px; padding: 6px 12px 6px 6px; margin: 2px 0 4px; }
.mx-row.theirs .mx-card { background: var(--az-paper); }
.mx-card img { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; } .mx-card b { display: block; font-size: .88rem; } .mx-card small { opacity: .8; }
.mx-who { display: block; font-size: .7rem; opacity: .7; margin-top: 3px; }
.mx-tools { position: absolute; top: -34px; display: none; gap: 2px; background: #fff; border: 1px solid var(--az-rule); border-radius: 20px; padding: 3px 6px; box-shadow: 0 4px 14px rgba(0,0,0,.1); z-index: 2; }
.mx-row.mine .mx-tools { right: 0; } .mx-row.theirs .mx-tools { left: 0; }
.mx-row:hover .mx-tools, .mx-row:focus-within .mx-tools { display: flex; }
.mx-tools button { background: none; border: 0; cursor: pointer; font-size: 1.1rem; padding: 2px 4px; transition: transform .1s; }
.mx-tools button:hover { transform: scale(1.3); }
.mx-reactions { font-size: .9rem; background: #fff; border: 1px solid var(--az-rule); border-radius: 12px; padding: 0 5px; margin-top: -8px; position: relative; z-index: 1; }
.mx-reactions[hidden], .mx-reactions:empty { display: none; }
.mx-receipt { font-size: .7rem; color: var(--az-muted); margin-top: 3px; }
.mx-row.pending { opacity: .55; } .mx-row.failed .mx-bubble { background: var(--az-red); border-color: var(--az-red); } .mx-failed { display: block; font-size: .74rem; }
.mx-typing { display: flex; gap: 4px; padding: 10px 14px; margin: 0 20px 6px; background: #fff; border: 1px solid var(--az-rule); border-radius: 20px; width: fit-content; }
.mx-typing[hidden] { display: none; }
.mx-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--az-muted); animation: mx-dot 1.2s infinite; }
.mx-typing span:nth-child(2) { animation-delay: .15s; } .mx-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes mx-dot { 0%, 60%, 100% { transform: translateY(0); opacity: .4; } 30% { transform: translateY(-4px); opacity: 1; } }
.mx-replying { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 18px; border-top: 1px solid var(--az-rule); background: var(--az-paper-2); font-size: .84rem; }
.mx-replying[hidden], .mx-share-pick[hidden], .mx-photo-name[hidden] { display: none; }
.mx-replying-x { background: none; border: 0; font-size: 1.3rem; cursor: pointer; }
.mx-share-pick { border-top: 1px solid var(--az-rule); max-height: 220px; overflow-y: auto; padding: 10px 14px; background: var(--az-card); }
.mx-share-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.mx-share-item { display: grid; gap: 4px; background: #fff; border: 1px solid var(--az-rule); padding: 6px; cursor: pointer; font: 600 .74rem var(--az-text); color: var(--az-ink); text-align: left; }
.mx-share-item img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.mx-compose { display: flex; gap: 8px; align-items: flex-end; padding: 10px 14px; border-top: 1px solid var(--az-rule); background: var(--az-card); }
.mx-tool { position: relative; width: 40px; height: 40px; display: grid; place-items: center; border: 0; background: none; cursor: pointer; color: var(--az-ink); flex: none; }
.mx-tool:hover { background: var(--az-paper-2); }
.mx-tool input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.mx-compose textarea { flex: 1; resize: none; font: inherit; padding: 10px 16px; border: 1px solid var(--az-rule); border-radius: 22px; background: var(--az-paper); max-height: 140px; line-height: 1.4; }
.mx-send { width: 42px; height: 42px; border-radius: 50%; border: 0; background: var(--az-ink); color: var(--az-paper); display: grid; place-items: center; cursor: pointer; flex: none; }
.mx-photo-name { margin: 0; padding: 0 18px 8px; font-size: .8rem; color: var(--az-muted); background: var(--az-card); }
.mx-start-body { padding: 20px 24px; overflow-y: auto; }
.mx-start-piece { display: flex; gap: 10px; align-items: center; font-weight: 600; } .mx-start-piece img { width: 48px; height: 48px; object-fit: cover; }
@media (max-width: 800px) {
  .mx { grid-template-columns: 1fr; height: calc(100vh - 150px); margin: 0 calc(-1 * max(16px, env(safe-area-inset-left, 0px))); border-left: 0; border-right: 0; }
  .mx-list { border-right: 0; }
  .mx.mx-in-chat .mx-list { display: none; } .mx:not(.mx-in-chat) .mx-chat { display: none; }
  .mx-back { display: block; }
  .mx-row { max-width: 84%; } .mx-room-piece span { display: none; }
  .mx-tools { top: auto; bottom: -34px; }
}
@media (max-width: 600px) { .sz-msgs { display: inline-grid !important; } }
.sz-msgs { position: relative; }
@media (max-width: 480px) {
  .sz-saved-link { display: none !important; }
  .sz-tools { gap: 2px; } .sz-tools .sz-icon { width: 36px; }
  .sz-switch a { padding: 6px 6px; }
}
.az-regions { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--az-rule); }
.az-region { padding: 26px 26px 20px; background: var(--az-card); }
.az-region + .az-region { border-left: 1px solid var(--az-rule); }
.az-region-name { display: block; font: 400 2.3rem/1 var(--az-display); }
.az-region-am { display: block; font: 1.15rem var(--az-ethiopic); color: var(--az-green); margin: 4px 0 14px; }
.az-region ul { list-style: none; margin: 0; padding: 0; }
.az-region li { padding: 10px 0 10px 26px; border-top: 1.5px dashed var(--az-rule); position: relative; line-height: 1.45; font-size: .95rem; }
.az-region li::before { content: ""; position: absolute; left: 2px; top: 16px; width: 12px; height: 6px; border-left: 2px solid var(--az-green); border-bottom: 2px solid var(--az-green); transform: rotate(-45deg); }
@media (max-width: 800px) { .az-regions { grid-template-columns: 1fr; } .az-region + .az-region { border-left: 0; border-top: 1px solid var(--az-rule); } }

/* ================= Polish ================= */
.nf { padding: 40px 0 70px; max-width: 720px; }
.nf-art { width: 260px; height: auto; margin-bottom: 20px; }
.nf h1 { font-size: clamp(3rem, 7vw, 5.4rem); line-height: .95; margin: 0 0 16px; }
.nf-links { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; margin-top: 24px; }
.sz-empty-basket { padding: 10px 0 40px; }
.sz-empty-basket h2 { font-size: clamp(2.4rem, 5vw, 3.6rem); margin: 0 0 10px; }
.sz-empty-basket .az-catalogue { margin-top: 40px; }
.sz-cart-title { display: none; } /* the basket block and the empty state carry their own headings */
.wp-block-woocommerce-cart.alignwide { margin-top: 26px; }
/* Product page */
.woocommerce-product-gallery__trigger { background: var(--az-card) !important; border: 1px solid var(--az-rule); border-radius: 0 !important; width: 38px !important; height: 38px !important; }
.single-product .woocommerce-tabs ul.tabs { display: none !important; }
.single-product .woocommerce-tabs .panel { display: block !important; }
.single-product .woocommerce-tabs { border-top: 1px solid var(--az-rule); padding-top: 40px; margin-top: 30px; }
.single-product .woocommerce-tabs .panel::before { content: "About this piece"; display: block; font: 600 .72rem var(--az-text); letter-spacing: .2em; text-transform: uppercase; color: var(--az-muted); margin-bottom: 14px; }
html[lang^="am"] .single-product .woocommerce-tabs .panel::before { content: "ስለዚህ ልብስ"; letter-spacing: 0; font-size: .9rem; }
.single-product .woocommerce-tabs .panel p { font-size: 1.08rem; line-height: 1.75; }
.single-product .woocommerce-tabs .panel h3 { font: 400 1.5rem var(--az-display) !important; margin: 30px 0 6px; }
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { opacity: 1 !important; background: var(--az-paper-2) !important; color: var(--az-muted) !important; border-color: var(--az-rule) !important; box-shadow: none !important; cursor: not-allowed; }
.single-product form.cart .quantity { display: none !important; }
.az-tag::before, .single-product .summary .price::before { display: none; }
.az-tag, .single-product .summary .price { padding-left: 16px; }
.sz-announce span + span::before { content: "·"; }
.az-tag, .single-product .summary .price { clip-path: none; padding: 5px 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-weight: 400 !important; font-size: 1.35rem !important; }
html[lang^="am"] .woocommerce ul.products li.product .woocommerce-loop-product__title { font: 400 1.1rem/1.3 var(--az-ethiopic) !important; }
.sz-paused { background: var(--az-gold); color: var(--az-ink); text-align: center; font-weight: 700; padding: 10px 16px; }
.sz-paused-inline { padding: 12px 14px; border: 1.5px dashed var(--az-gold); font-weight: 600; }
.sz-is-paused .single_add_to_cart_button, .sz-is-paused .woocommerce-variation-add-to-cart, .sz-is-paused .sz-sticky { display: none !important; }

/* The site's own drawings (inc/art.php, 2026-10-30) in place of one photo everywhere. */
.az-sheet-art svg, .az-art svg { display: block; width: 100%; height: auto; }
.az-sheet-art { background: var(--az-card); }
.az-hang { cursor: pointer; animation: az-sway 7s ease-in-out var(--d, 0s) infinite alternate; }
.az-hang:hover, .az-hang:focus-visible { filter: drop-shadow(0 6px 6px rgba(27, 23, 18, .18)); }
.az-hang:focus-visible { outline: 2px dashed var(--az-ink); outline-offset: 4px; }
@keyframes az-sway { from { transform: rotate(-1.4deg); } to { transform: rotate(1.4deg); } }
@media (prefers-reduced-motion: reduce) { .az-hang { animation: none; } }
.az-maker .az-art { background: var(--az-card); }
.ab-pinned.az-art svg { background: var(--az-card); }

/* ======================================================================
   Playful layer (2026-10-30, owner chose "bright and playful"), after studying
   Big Bud Press, Lisa Says Gah and Farm Rio: coral signature, sunflower, pink,
   teal and lilac; pieces cut out on colour tiles; chunky lettering, handwritten
   notes, stickers, a scrolling band. Overrides the rules above.
   ====================================================================== */
body { background: var(--az-paper); color: var(--az-ink); }
h1, h2, h3, .wp-block-post-title, .product_title, .woocommerce-loop-product__title { font-family: var(--az-display) !important; font-weight: 800 !important; letter-spacing: -.025em !important; color: var(--az-ink); }
:lang(am) h1, :lang(am) h2, :lang(am) h3, html[lang^="am"] h1, html[lang^="am"] h2, html[lang^="am"] h3 { font-family: var(--az-am-display) !important; font-weight: 900 !important; letter-spacing: 0 !important; }
.pl-script { font: 700 1.7rem/1 var(--pl-script); color: var(--pl-coral); margin: 0 0 10px; transform: rotate(-2deg); display: inline-block; }
:lang(am) .pl-script, html[lang^="am"] .pl-script { font: 700 1.15rem/1.3 var(--az-am-display); transform: none; }
.az-kicker, .sz-kicker, .sz-eyebrow, .qt-eyebrow { font: 700 1.35rem/1 var(--pl-script) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--pl-coral) !important; }
:lang(am) .az-kicker, :lang(am) .sz-eyebrow, html[lang^="am"] .az-kicker, html[lang^="am"] .sz-eyebrow { font: 700 1rem var(--az-am-display) !important; }

/* Buttons: chunky coral pills with a plum shadow that presses in */
.az-btn, .sz-btn, .sz-button, .pl-btn, .woocommerce button.button, .woocommerce a.button, .single_add_to_cart_button,
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  border-radius: 999px !important; background: var(--pl-coral) !important; color: #fff !important; border: 2.5px solid var(--pl-plum) !important;
  font: 800 1rem/1 var(--az-display) !important; letter-spacing: 0 !important; text-transform: none !important; padding: 16px 28px !important;
  box-shadow: 4px 4px 0 var(--pl-plum) !important; transition: transform .12s, box-shadow .12s !important; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; }
.az-btn:hover, .sz-btn:hover, .sz-button:hover, .pl-btn:hover, .single_add_to_cart_button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.wc-block-components-button:hover { background: var(--pl-coral-dark) !important; border-color: var(--pl-plum) !important; transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--pl-plum) !important; }
:lang(am) .az-btn, :lang(am) .sz-btn, :lang(am) .sz-button, :lang(am) .pl-btn, html[lang^="am"] .pl-btn, html[lang^="am"] .sz-button { font: 800 .98rem/1.1 var(--az-am-display) !important; }
.pl-btn.light, .az-btn.light, .sz-btn.ghost, .sz-button.ghost { background: #fff !important; color: var(--pl-plum) !important; }
.pl-btn.light:hover, .az-btn.light:hover, .sz-btn.ghost:hover, .sz-button.ghost:hover { background: var(--pl-sun) !important; color: var(--pl-plum) !important; }
.pl-btn.small { padding: 11px 20px !important; font-size: .9rem !important; }
.az-textlink, .sz-link, .qt-link { font: 800 .95rem var(--az-display); color: var(--pl-plum); text-decoration: underline; text-decoration-color: var(--pl-coral); text-decoration-thickness: 3px; text-underline-offset: 5px; letter-spacing: 0; text-transform: none; }
.az-textlink:hover, .sz-link:hover { color: var(--pl-coral); }

/* Colour tiles */
.pl-bg-pink { --tile: var(--pl-pink); } .pl-bg-sun { --tile: var(--pl-sun); } .pl-bg-teal { --tile: var(--pl-teal-soft); } .pl-bg-lilac { --tile: var(--pl-lilac); } .pl-bg-coral { --tile: #FF9C8F; }

/* Header */
.sz-announce { background: var(--pl-plum); color: #FFF8EE; font: 700 .82rem/1.3 var(--az-text); letter-spacing: .01em; }
.sz-announce span + span::before { color: var(--pl-sun); }
.sz-topband { height: 10px; background-size: auto 10px; }
.sz-header { background: var(--az-paper); border-bottom: 2.5px solid var(--pl-plum); box-shadow: none; }
.sz-header-inner { padding-block: 12px; gap: 22px; }
.sz-search { display: flex; align-items: center; background: #fff; border: 2.5px solid var(--pl-plum); border-radius: 999px; padding: 0 5px 0 18px; }
.sz-search:focus-within { box-shadow: 3px 3px 0 var(--pl-plum); }
.sz-search input[type=search] { flex: 1; min-width: 0; border: 0; background: transparent; font: 600 .95rem var(--az-text); padding: 11px 4px; outline: none; color: var(--pl-plum); }
.sz-search button { border: 0; background: var(--pl-sun); color: var(--pl-plum); width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.sz-search button svg { width: 18px; height: 18px; }
.sz-search-d { flex: 1; max-width: 460px; margin: 0 auto; }
.sz-search-m { display: none; }
.sz-icon { color: var(--pl-plum); }
.sz-icon:hover { background: var(--pl-sun); color: var(--pl-plum); }
.sz-count { background: var(--pl-coral); color: #fff; border: 2px solid var(--az-paper); border-radius: 999px !important; min-width: 20px; height: 20px; font: 800 .66rem/16px var(--az-text); text-align: center; padding: 0 4px; }
.sz-nav { margin-left: 0; border-top: 0; background: var(--az-paper); }
.sz-nav-in { max-width: 1240px; margin: 0 auto; padding: 0 var(--sz-gutter) 10px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.sz-nav a { font: 800 .9rem var(--az-display) !important; letter-spacing: 0 !important; text-transform: none !important; padding: 8px 15px !important; border: 2px solid transparent !important; border-radius: 999px; color: var(--pl-plum); }
:lang(am) .sz-nav a, html[lang^="am"] .sz-nav a { font: 700 .92rem var(--az-am-display) !important; }
.sz-nav a:hover { border-color: var(--pl-plum) !important; background: #fff; }
.sz-nav a[aria-current="page"] { background: var(--pl-sun); border-color: var(--pl-plum) !important; }
.sz-nav a.sz-nav-design { background: var(--pl-pink); border-color: var(--pl-plum) !important; }
.sz-switch { border: 2px solid var(--pl-plum); padding: 2px; background: #fff; border-radius: 999px !important; }
.sz-switch a { border-radius: 999px !important; font-weight: 800; }
.sz-switch a.on { background: var(--pl-plum); color: #fff; }
@media (max-width: 900px) {
  .sz-search-d { display: none; }
  .sz-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--az-paper); border-bottom: 2.5px solid var(--pl-plum); max-height: calc(100vh - 120px); overflow-y: auto; }
  .sz-nav.open { display: block; }
  .sz-nav-in { flex-direction: column; align-items: stretch; gap: 8px; padding-block: 14px 20px; }
  .sz-nav-in a { padding: 13px 18px !important; border: 2px solid var(--pl-plum) !important; background: #fff; }
  .sz-search-m { display: flex; margin: 0 0 6px; }
}

/* Hero */
.pl-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 620px; border-bottom: 2.5px solid var(--pl-plum); }
.pl-hero-text { background: var(--pl-coral); color: #fff; padding: 70px 56px 70px max(var(--sz-gutter), calc((100vw - 1240px) / 2 + 24px)); display: grid; align-content: center; }
.pl-hero-text .pl-script { color: var(--pl-sun); font-size: 2.1rem; }
.pl-hero h1 { color: #fff; font-size: clamp(2.8rem, 5.4vw, 5rem); line-height: .98; margin: 0 0 22px; max-width: 11em; }
:lang(am) .pl-hero h1, html[lang^="am"] .pl-hero h1 { font-size: clamp(2.3rem, 4.2vw, 3.8rem); line-height: 1.2; }
.pl-lede { font-size: 1.12rem; line-height: 1.65; max-width: 30em; margin: 0 0 32px; color: #FFF3EE; }
.pl-actions { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; }
.pl-hero-text .pl-btn:not(.light) { background: var(--pl-sun) !important; color: var(--pl-plum) !important; }
.pl-hero-art { position: relative; background: var(--pl-sun); overflow: hidden; border-left: 2.5px solid var(--pl-plum);
  background-image: radial-gradient(circle at 20% 22%, var(--pl-pink) 0 90px, transparent 91px), radial-gradient(circle at 85% 80%, var(--pl-teal-soft) 0 120px, transparent 121px); }
.pl-hero-piece { position: absolute; display: block; transition: transform .25s; }
.pl-hero-piece img { display: block; width: 100%; height: auto; filter: drop-shadow(0 16px 18px rgba(42, 23, 64, .25)); }
.pl-hero-piece:hover { transform: translateY(-8px) rotate(-1deg); }
.pl-h1 { width: 50%; left: 25%; top: 8%; z-index: 3; } .pl-h2 { width: 40%; left: 2%; top: 38%; z-index: 2; transform: rotate(-6deg); } .pl-h3 { width: 36%; right: 3%; top: 44%; z-index: 2; transform: rotate(6deg); }
.pl-tag { position: absolute; z-index: 4; right: -4%; top: 6%; background: #fff; color: var(--pl-plum); border: 2.5px solid var(--pl-plum); border-radius: 999px; padding: 6px 12px; font: 800 .95rem var(--az-display); box-shadow: 3px 3px 0 var(--pl-plum); transform: rotate(8deg); }
.pl-spin { position: absolute; right: 5%; top: 5%; width: 140px; height: 140px; z-index: 5; animation: pl-spin 18s linear infinite; }
@keyframes pl-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pl-spin, .pl-marquee-in { animation: none !important; } }
@media (max-width: 900px) {
  .pl-hero { grid-template-columns: 1fr; min-height: 0; }
  .pl-hero-text { padding: 40px var(--sz-gutter) 44px; }
  .pl-hero-art { aspect-ratio: 1 / .95; border-left: 0; border-top: 2.5px solid var(--pl-plum); }
  .pl-spin { width: 96px; height: 96px; }
}

/* Scrolling band */
.pl-marquee { background: var(--pl-plum); color: #FFF8EE; overflow: hidden; border-bottom: 2.5px solid var(--pl-plum); }
.pl-marquee-in { display: inline-flex; gap: 28px; padding: 16px 0; white-space: nowrap; animation: pl-marq 30s linear infinite; font: 800 1.15rem var(--az-display); }
.pl-marquee-in i { color: var(--pl-sun); font-style: normal; }
@keyframes pl-marq { to { transform: translateX(-50%); } }

/* Sections */
.pl-section { padding: 76px 0; }
.pl-head { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; margin-bottom: 30px; }
.pl-head h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); margin: 0; }
.pl-head .pl-btn { margin-left: auto; }
.pl-head.pl-center { display: block; text-align: center; } .pl-head.pl-center p { color: var(--az-muted); margin: 8px 0 0; font-size: 1.05rem; }
.pl-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pl-cat { position: relative; display: grid; grid-template-rows: auto 1fr auto; min-height: 340px; background: var(--tile); border: 2.5px solid var(--pl-plum); border-radius: var(--az-radius); padding: 20px; text-decoration: none; color: var(--pl-plum); overflow: hidden; box-shadow: 5px 5px 0 var(--pl-plum); transition: transform .15s, box-shadow .15s; }
.pl-cat:hover { transform: translate(-2px, -3px) rotate(-1deg); box-shadow: 8px 8px 0 var(--pl-plum); }
.pl-cat b { font: 800 1.9rem/1 var(--az-display); }
:lang(am) .pl-cat b, html[lang^="am"] .pl-cat b { font: 900 1.6rem/1.2 var(--az-am-display); }
.pl-cat img, .pl-cat-flat { align-self: center; justify-self: center; width: 82%; height: auto; max-height: 210px; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(42, 23, 64, .22)); }
.pl-cat-flat svg { display: block; width: 100%; height: auto; max-height: 200px; }
.pl-go { font: 800 .95rem var(--az-display); background: #fff; border: 2px solid var(--pl-plum); border-radius: 999px; padding: 7px 14px; justify-self: start; }
@media (max-width: 900px) { .pl-cats { grid-template-columns: 1fr 1fr; gap: 12px; } .pl-cat { min-height: 250px; padding: 14px; box-shadow: 4px 4px 0 var(--pl-plum); } .pl-cat b { font-size: 1.4rem; } .pl-go { font-size: .8rem; } }

/* Cards: the piece on its colour tile, a price sticker */
.pl-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 20px; }
.pl-card { position: relative; }
.pl-card > a { display: grid; gap: 6px; text-decoration: none; color: var(--pl-plum); }
.pl-tile { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1.08; background: var(--tile, var(--pl-pink)); border: 2.5px solid var(--pl-plum); border-radius: var(--az-radius); overflow: visible; transition: transform .15s, box-shadow .15s; }
.pl-tile img { display: block; width: 80% !important; height: 82% !important; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(42, 23, 64, .22)); margin: 0 !important; border: 0 !important; background: transparent !important; transition: transform .25s; }
.pl-card > a:hover .pl-tile, li.product a:hover .pl-tile { transform: translate(-2px, -3px); box-shadow: 6px 6px 0 var(--pl-plum); }
.pl-card > a:hover .pl-tile img, li.product a:hover .pl-tile img { transform: scale(1.05) rotate(-2deg); }
.pl-sticker { position: absolute; left: -8px; bottom: 14px; background: #fff; border: 2.5px solid var(--pl-plum); border-radius: 999px; padding: 6px 13px; font: 800 1rem var(--az-display); color: var(--pl-plum); box-shadow: 3px 3px 0 var(--pl-plum); transform: rotate(-6deg); }
.pl-sticker del { opacity: .55; margin-right: 4px; font-weight: 600; }
.pl-name { font: 800 1.12rem/1.2 var(--az-display); margin-top: 12px; }
:lang(am) .pl-name, html[lang^="am"] .pl-name { font: 800 1rem/1.35 var(--az-am-display); }
.pl-ship { font-size: .86rem; color: var(--az-muted); font-weight: 600; }
.pl-card > .sz-love, li.product > .sz-love { position: absolute; top: 12px; right: 12px; z-index: 3; width: 40px; height: 40px; padding: 0; justify-content: center; background: #fff; border: 2.5px solid var(--pl-plum) !important; border-radius: 50% !important; }
.pl-card > .sz-love span:not(.sz-love-icon), li.product > .sz-love span:not(.sz-love-icon) { display: none; }
@media (max-width: 900px) { .pl-grid { grid-template-columns: 1fr 1fr; gap: 26px 12px; } .pl-sticker { font-size: .85rem; padding: 4px 10px; } .pl-name { font-size: 1rem; } }

/* Shop lists (WooCommerce): the same tiles */
.woocommerce ul.products li.product, .wc-block-grid__product { background: transparent; border: 0 !important; border-radius: 0; padding: 0 !important; box-shadow: none; display: flex !important; flex-direction: column; position: relative; }
.woocommerce ul.products li.product .pl-tile { margin-bottom: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font: 800 1.08rem/1.2 var(--az-display) !important; padding: 0 !important; color: var(--pl-plum); }
.woocommerce ul.products li.product .price { font: 800 1rem var(--az-display) !important; color: var(--pl-coral) !important; }
.woocommerce ul.products li.product .button { display: none !important; }
.woocommerce ul.products li.product .sz-badge { background: none !important; border: 0 !important; padding: 0 !important; color: var(--az-muted) !important; font: 600 .84rem var(--az-text) !important; position: static; }
.sz-chips-nav { display: flex; flex-wrap: wrap; gap: 10px; border: 0; }
.sz-chip-link { background: #fff !important; color: var(--pl-plum) !important; border: 2px solid var(--pl-plum) !important; border-radius: 999px !important; padding: 9px 16px !important; font: 800 .88rem var(--az-display) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none; }
.sz-chip-link:hover { background: var(--pl-pink) !important; }
.sz-chip-link.on { background: var(--pl-sun) !important; box-shadow: 3px 3px 0 var(--pl-plum); }
:lang(am) .sz-chip-link, html[lang^="am"] .sz-chip-link { font: 700 .9rem var(--az-am-display) !important; }
.woocommerce-products-header h1, .wp-block-query-title { font-size: clamp(2.6rem, 5vw, 4rem) !important; }

/* Studio band */
.pl-studio { background: var(--pl-lilac); border-block: 2.5px solid var(--pl-plum); }
.pl-studio-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 50px; align-items: center; padding-block: 70px; }
.pl-studio h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); margin: 0 0 14px; }
.pl-studio p { font-size: 1.08rem; line-height: 1.65; margin: 0 0 28px; max-width: 30em; }
.pl-studio .pl-script { color: var(--pl-plum); }
.pl-studio-art { margin: 0; background: #FFF8EE; border: 2.5px solid var(--pl-plum); border-radius: var(--az-radius); padding: 22px; box-shadow: 8px 8px 0 var(--pl-plum); transform: rotate(1.5deg); }
.pl-studio-art svg { display: block; width: 100%; height: auto; max-height: 500px; }
@media (max-width: 900px) { .pl-studio-grid { grid-template-columns: 1fr; padding-block: 50px; } .pl-studio-art { transform: none; } }

/* Her story */
.pl-story { background: var(--pl-pink); border-bottom: 2.5px solid var(--pl-plum); }
.pl-story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; padding-block: 76px; }
.pl-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pl-mosaic span { display: block; border: 2.5px solid var(--pl-plum); border-radius: var(--az-radius); overflow: hidden; box-shadow: 5px 5px 0 var(--pl-plum); }
.pl-mosaic span:nth-child(1) { transform: rotate(-3deg); } .pl-mosaic span:nth-child(2) { transform: rotate(2deg) translateY(14px); } .pl-mosaic span:nth-child(3) { transform: rotate(2deg); } .pl-mosaic span:nth-child(4) { transform: rotate(-2deg) translateY(14px); }
.pl-mosaic img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.pl-story blockquote { margin: 0 0 18px; font: 800 clamp(1.5rem, 2.5vw, 2.15rem)/1.25 var(--az-display); color: var(--pl-plum); letter-spacing: -.01em; }
:lang(am) .pl-story blockquote, html[lang^="am"] .pl-story blockquote { font: 800 1.4rem/1.6 var(--az-am-display); }
.pl-sig { font: 400 2.2rem/1 var(--az-ethiopic); color: var(--pl-plum); margin: 0 0 26px; }
@media (max-width: 900px) { .pl-story-grid { grid-template-columns: 1fr; gap: 40px; padding-block: 56px; } }

/* Dates */
.pl-dates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1000px; margin: 0 auto; }
.pl-date { display: grid; gap: 4px; justify-items: center; text-align: center; background: var(--tile); border: 2.5px solid var(--pl-plum); border-radius: var(--az-radius); padding: 26px 18px; box-shadow: 5px 5px 0 var(--pl-plum); }
.pl-date:nth-child(2) { transform: rotate(-1.5deg); }
.pl-date-day { font: 800 2.4rem/1 var(--az-display); }
:lang(am) .pl-date-day, html[lang^="am"] .pl-date-day { font: 900 1.8rem/1.2 var(--az-am-display); }
.pl-date b { font: 800 1.15rem var(--az-display); }
:lang(am) .pl-date b, html[lang^="am"] .pl-date b { font-family: var(--az-am-display); }
.pl-date small { font-weight: 700; font-size: .9rem; }
.pl-date.late small { color: var(--pl-coral-dark); }
@media (max-width: 700px) { .pl-dates { grid-template-columns: 1fr; } .pl-date:nth-child(2) { transform: none; } }

/* Service row */
.pl-service { background: #fff; border-block: 2.5px solid var(--pl-plum); }
.pl-service-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: 40px; text-align: center; }
.pl-service-row div { display: grid; justify-items: center; gap: 4px; }
.pl-service-row svg { width: 54px; height: 54px; padding: 12px; color: var(--pl-plum); background: var(--pl-sun); border: 2.5px solid var(--pl-plum); border-radius: 50%; margin-bottom: 8px; }
.pl-service-row div:nth-child(2) svg { background: var(--pl-teal-soft); } .pl-service-row div:nth-child(3) svg { background: var(--pl-pink); } .pl-service-row div:nth-child(4) svg { background: var(--pl-lilac); }
.pl-service-row b { font: 800 1.12rem var(--az-display); }
:lang(am) .pl-service-row b, html[lang^="am"] .pl-service-row b { font-family: var(--az-am-display); }
.pl-service-row span { font-size: .88rem; color: var(--az-muted); line-height: 1.45; }
@media (max-width: 900px) { .pl-service-row { grid-template-columns: 1fr 1fr; gap: 24px 12px; } }

/* Product page */
.single-product .product_title { font-size: clamp(2.2rem, 3.6vw, 3.2rem) !important; line-height: 1.05; }
.single-product .summary .price, .az-tag { clip-path: none !important; display: inline-block !important; background: var(--pl-sun) !important; border: 2.5px solid var(--pl-plum) !important; border-radius: 999px; padding: 6px 16px !important; font: 800 1.4rem var(--az-display) !important; color: var(--pl-plum) !important; box-shadow: 3px 3px 0 var(--pl-plum); transform: rotate(-2deg); }
.single-product .summary .price::before, .az-tag::before { display: none !important; }
.sz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sz-chip { min-width: 54px; padding: 11px 16px !important; background: #fff !important; border: 2px solid var(--pl-plum) !important; border-radius: 999px !important; color: var(--pl-plum) !important; font: 800 .92rem var(--az-display) !important; cursor: pointer; }
.sz-chip:hover { background: var(--pl-pink) !important; }
.sz-chip.on { background: var(--pl-plum) !important; color: #fff !important; box-shadow: 3px 3px 0 var(--pl-coral); }
.single-product .single_add_to_cart_button { width: 100%; padding: 20px 28px !important; font-size: 1.12rem !important; }
.single-product form.cart .quantity { display: none; }
.sz-timeline { border: 2px solid var(--pl-plum) !important; border-radius: 16px !important; padding: 12px 16px !important; }
.sz-timeline.stock { background: var(--pl-teal-soft) !important; } .sz-timeline.mto { background: var(--pl-sun-soft) !important; }
.sz-timeline b { color: var(--pl-plum) !important; }
.sz-delivery, .sz-design-own { border: 2px solid var(--pl-plum) !important; border-radius: 16px !important; background: #fff; }
.single-product .woocommerce-product-gallery__image img, .flex-control-thumbs img { border-radius: var(--az-radius) !important; border: 2.5px solid var(--pl-plum) !important; background: #fff; }
.woocommerce-products-header, .sz-page-head { background: none; padding: 0; margin-bottom: 22px; }

/* Basket, checkout and forms: rounded, plum outlines */
.wc-block-cart__sidebar, .wp-block-woocommerce-checkout-order-summary-block { border: 2.5px solid var(--pl-plum) !important; border-radius: var(--az-radius) !important; background: #fff; }
.wc-block-components-text-input input, .wc-blocks-components-select__select, .wc-block-components-radio-control__option, .sz-field input, .sz-field textarea, .sz-field select { border-radius: 14px !important; }

/* Newsletter and footer */
.sz-news-band { background: var(--pl-teal); color: var(--pl-plum); border: 0; border-top: 2.5px solid var(--pl-plum); }
.sz-news-band h2 { color: var(--pl-plum); }
.sz-news-band .sz-eyebrow { color: #fff !important; }
.sz-news input[type=email] { background: #fff; border: 2.5px solid var(--pl-plum); border-radius: 999px; padding: 14px 20px; }
.sz-news button { background: var(--pl-sun) !important; color: var(--pl-plum) !important; }
.sz-footer { background: var(--pl-plum); }
.sz-footer h4, .sz-footer .sz-foot-h { color: var(--pl-sun); }

/* Pages that keep their own layout: rounded and outlined like the rest */
.cp-paths, .ab-next, .fr-tool, .cp-slip, .az-gift-grid, .sz-quote-card, .sz-ask-panel, .mx, .az-regions { border: 2.5px solid var(--pl-plum) !important; border-radius: var(--az-radius) !important; overflow: hidden; }
.sz-ask-panel { overflow: visible; }
.az-row-no { white-space: nowrap; }
.az-region { border: 0 !important; padding: 24px 26px !important; }
.az-catalogue { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 18px; }
.az-catalogue a { display: grid; gap: 6px; text-decoration: none; color: var(--pl-plum); background: none; border: 0; padding: 0; box-shadow: none; }
.az-plate { display: grid; place-items: center; aspect-ratio: 1 / 1.08; background: var(--pl-pink); border: 2.5px solid var(--pl-plum); border-radius: var(--az-radius); padding: 0; }
.az-plate img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; border-radius: 19px; mix-blend-mode: normal; }
.az-badge { display: none; } .az-card-btn { display: none; }
.az-name { font: 800 1.08rem/1.2 var(--az-display); padding: 0; } .az-price { font: 800 1rem var(--az-display); color: var(--pl-coral); }
@media (max-width: 900px) { .az-catalogue { grid-template-columns: 1fr 1fr; } }
/* Every tile the same size, whatever the photo's own shape: the piece is placed inside it. */
.pl-tile { display: block !important; position: relative; width: 100%; aspect-ratio: 1 / 1.08; }
.pl-tile img { position: absolute; left: 9%; top: 8%; width: 82% !important; height: 84% !important; object-fit: contain; }
.woocommerce ul.products li.product a img.attachment-woocommerce_thumbnail { aspect-ratio: auto; }
.sz-news-band p, .sz-news-band small, .sz-news-band .sz-news-note { color: var(--pl-plum) !important; opacity: .85; }
/* Never blend a piece into its tile: "multiply" (from the old pattern-sheet look) tinted white and cream
   parts of a garment with the tile's colour, so the shop showed the wrong colours. */
.pl-tile img, .woocommerce ul.products li.product .pl-tile img, .az-plate img { mix-blend-mode: normal !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-sizing: content-box; }
.pl-tile .pl-alt { position: absolute; inset: 0; left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 19px; opacity: 0; transition: opacity .35s; filter: none !important; }
@media (hover: hover) { li.product a:hover .pl-tile .pl-alt { opacity: 1; } }
li.product .sz-alt { display: none !important; }
.pl-fresh { padding-bottom: 10px; }
/* WooCommerce's own "alt" button rule (style.css) is more specific; the basket button stays coral, and
   before a size is chosen it is a lighter coral rather than a different colour. */
.woocommerce button.button.alt, .woocommerce button.button.alt.single_add_to_cart_button { background: var(--pl-coral) !important; border: 2.5px solid var(--pl-plum) !important; color: #fff !important; }
.woocommerce button.button.alt:hover { background: var(--pl-coral-dark) !important; }
.woocommerce button.button.alt.disabled, .single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { background: #FFB1A9 !important; color: #fff !important; border-color: var(--pl-plum) !important; box-shadow: 3px 3px 0 var(--pl-plum) !important; cursor: not-allowed; }

/* Simpler home (2026-10-31): three category tiles, one grid with the newest pieces marked. */
.pl-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .pl-cats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pl-cats { gap: 8px; } .pl-cat { min-height: 170px; padding: 10px; box-shadow: 3px 3px 0 var(--pl-plum); } .pl-cat b { font-size: 1.05rem; } .pl-cat .pl-go { display: none; } }
.pl-new { position: absolute; left: 14px; top: 14px; background: var(--pl-sun); border: 2.5px solid var(--pl-plum); border-radius: 999px; padding: 3px 11px; font: 800 .82rem var(--az-display); color: var(--pl-plum); letter-spacing: .04em; text-transform: uppercase; transform: rotate(-5deg); box-shadow: 2px 2px 0 var(--pl-plum); }
/* The lower row of tape labels sat on top of the upper row's text. */
@media (min-width: 901px) { .cp-pin:nth-child(even) { padding-top: 168px; } .cp-pin:nth-child(even)::before { height: 164px; } .cp-pin:nth-child(even) .cp-pin-dot { top: 160px; } .cp-tape { margin-bottom: 70px; } }

.cp-slip { scroll-margin-top: 96px; }
html[lang^="am"] .cp-slip-head .sz-am { display: none; } /* "Order slip" is already in Amharic there */

/* Item codes (mu-plugins/sz-item-code.php). */
.sz-code { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 16px; padding: 10px 14px; border: 2px dashed var(--pl-plum); border-radius: 14px; }
.sz-code-label { font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--az-muted); }
.sz-code-val { font: 800 1.15rem/1 var(--az-display); letter-spacing: .04em; color: var(--pl-plum); }
.sz-code-copy { margin-left: auto; padding: 4px 12px; font: 700 .82rem/1.4 inherit; color: var(--pl-plum); background: transparent; border: 2px solid var(--pl-plum); border-radius: 999px; cursor: pointer; }
.sz-code-copy:hover { background: var(--pl-plum); color: #fff; }
.sz-code small { flex-basis: 100%; font-size: .84rem; color: var(--az-muted); }
.sz-card-code { display: block; margin-top: 2px; font-size: .78rem; font-weight: 700; letter-spacing: .05em; color: var(--az-muted); }

/* Her photos from the videos, shown whole on the tile (no cut-out, no crop). */
/* Centred with translate (not margins, which the shop list overrides; not transform, which hover uses). */
.pl-tile img.pl-photo { left: 50% !important; top: 50% !important; translate: -50% -50%; margin: 0 !important; width: auto !important; height: auto !important; max-width: 84%; max-height: 86%; border-radius: 12px !important; border: 2px solid var(--pl-plum) !important; filter: none; }
/* The piece's page: a tall photo from her phone fits the screen whole instead of running past it. */
.single-product .woocommerce-product-gallery__image img { max-height: 82vh; width: 100%; object-fit: contain; }
.pl-tile .pl-alt { object-fit: contain !important; background: var(--tile, var(--pl-pink)) !important; }
/* Catalogue cards (empty basket, saved): the plate takes its column's width, not its photo's. */
.az-catalogue a > * { min-width: 0; }
.az-catalogue .az-plate { width: 100%; overflow: hidden; }
/* The piece's page: a soft cream behind tall photos instead of white bars. */
.single-product .woocommerce-product-gallery__image { background: color-mix(in srgb, var(--az-rule) 55%, transparent); }
/* Shop: count and sorting under the filter buttons. */
.sz-shop-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 4px 0 22px; }
.sz-shop-count { font-size: .9rem; font-weight: 700; color: var(--az-muted); }
.sz-shop-bar .woocommerce-ordering { margin: 0 !important; float: none !important; }
.sz-shop-bar select.orderby { appearance: none; -webkit-appearance: none; padding: 8px 36px 8px 14px; font: 700 .88rem/1.2 inherit; color: var(--pl-plum); background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232A1740' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1.5px solid var(--az-rule); border-radius: 999px; cursor: pointer; }
.sz-shop-bar select.orderby:focus-visible { outline: 2px solid var(--pl-plum); outline-offset: 2px; }

/* ---- Front page around her new photos (2026-11-01, owner: "not wowed") ---- */
/* Hero: three prints pinned up with a strip of tape, the colours of home in the middle. */
.pl-print { position: absolute; z-index: 2; display: block; padding: 10px 10px 46px; background: #fff; border-radius: 6px; box-shadow: 0 18px 40px rgba(42, 23, 64, .28); text-decoration: none; transition: transform .3s, box-shadow .3s; }
.pl-print img { display: block; width: 100%; height: auto; border-radius: 3px; }
.pl-print::before { content: ""; position: absolute; top: -12px; left: 50%; width: 76px; height: 24px; margin-left: -38px; background: rgba(255, 248, 238, .78); box-shadow: 0 1px 3px rgba(42, 23, 64, .15); transform: rotate(-4deg); }
.pl-p1 { left: 6%; top: 16%; width: 30%; transform: rotate(-7deg); }
.pl-p2 { left: 33%; top: 8%; width: 33%; transform: rotate(2deg); z-index: 3; }
.pl-p3 { right: 8%; top: 24%; width: 27%; transform: rotate(7deg); }
.pl-print:hover, .pl-print:focus-visible { z-index: 6; transform: rotate(0) translateY(-10px) scale(1.04); box-shadow: 0 26px 50px rgba(42, 23, 64, .34); }
.pl-print-tag { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; color: var(--pl-plum); font-size: .8rem; font-weight: 700; line-height: 1.2; }
.pl-print-tag span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pl-print-tag b { flex: none; color: var(--az-red); }
@media (max-width: 900px) {
  .pl-p1 { left: 2%; top: 16%; width: 38%; } .pl-p2 { left: 30%; top: 5%; width: 41%; } .pl-p3 { right: 2%; top: 21%; width: 36%; }
  .pl-print { padding: 6px 6px 30px; } .pl-print-tag { left: 8px; right: 8px; bottom: 7px; font-size: .7rem; } .pl-print-tag span { display: none; }
}
/* Categories: a framed photo of one of her pieces on each colour. */
.pl-cat-photo img { width: auto !important; max-width: 78%; max-height: 250px; height: auto; object-fit: contain; border: 6px solid #fff; border-radius: 10px; box-shadow: 0 12px 26px rgba(42, 23, 64, .24); filter: none !important; transform: rotate(-3deg); }
.pl-cat-photo:nth-child(even) img { transform: rotate(3deg); }
.pl-cat-photo:hover img { transform: rotate(0) scale(1.04); }
@media (max-width: 560px) { .pl-cat-photo img { max-height: 120px; border-width: 4px; } }
/* The lookbook: every piece with a new photo, large, in a row you swipe. */
.pl-look { background: var(--pl-plum); color: #fff; padding-block: 64px 56px; }
.pl-look-head { display: grid; gap: 4px; margin-bottom: 26px; }
.pl-look-head .pl-script { color: var(--pl-sun); margin: 0; }
.pl-look-head h2 { margin: 0; color: #fff; font: 800 clamp(2.2rem, 4.4vw, 3.6rem)/1 var(--az-display); letter-spacing: -.03em; }
.pl-look-note { margin: 6px 0 0; color: rgba(255, 255, 255, .72); }
.pl-look-row { display: flex; align-items: flex-start; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: max(16px, calc((100vw - 1240px) / 2 + 24px));
  padding: 6px max(16px, calc((100vw - 1240px) / 2 + 24px)) 18px; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .35) transparent; }
.pl-look-row:focus-visible { outline: 2px solid var(--pl-sun); outline-offset: -2px; }
.pl-look-card { flex: 0 0 auto; width: min-content; scroll-snap-align: start; color: #fff; text-decoration: none; }
/* One height for the row, each photo its own width: nothing is cropped. */
.pl-look-card img { display: block; height: clamp(300px, 34vw, 460px); width: auto; max-width: none; border-radius: 16px; transition: transform .3s; }
.pl-look-card:hover img, .pl-look-card:focus-visible img { transform: translateY(-6px); }
.pl-look-cap { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 12px 2px 0; font-weight: 700; font-size: .95rem; }
.pl-look-cap span { min-width: 0; }
.pl-look-cap b { flex: none; color: var(--pl-sun); }
@media (max-width: 600px) { .pl-look { padding-block: 44px 40px; } .pl-look-card img { height: 380px; } }
.pl-price { display: none; }

/* ---- Readability (Lighthouse, 2026-11-02): text and buttons meet WCAG AA contrast ----
   The brand coral (#FF5A4E) stays for large colour areas; where text sits on it or is coral itself,
   a deeper coral (#D2382D) is used: 4.8:1 with white, 4.6:1 on cream. */
:root { --pl-coral-text: #D2382D; }
.pl-script, .sz-sizeguide-link, .sz-delivery summary, .sz-delivery a, .sz-assure a, .woocommerce-Price-amount, .price, .pl-card .woocommerce-Price-amount { color: var(--pl-coral-text) !important; }
.pl-btn:not(.light), .pl-btn.small, .single_add_to_cart_button, .woocommerce button.button.alt, .wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--pl-coral-text) !important; }
.pl-hero-text .pl-script { color: #fff !important; font-size: 1.6rem !important; }
.pl-hero-text .pl-lede { color: #fff !important; font-weight: 700; font-size: 1.17rem; }
.pl-hero-text .pl-btn.light { background: #fff !important; color: var(--pl-plum) !important; box-shadow: none !important; }
.pl-hero-text .pl-btn:not(.light) { background: var(--pl-sun) !important; color: var(--pl-plum) !important; }
.woocommerce .single_add_to_cart_button.disabled, .single_add_to_cart_button.wc-variation-selection-needed { background: #ECE6F0 !important; color: #5E4E6C !important; opacity: 1 !important; }
.sz-timeline small, .sz-timeline.mto small { color: #5E4E6C !important; }
.sz-footer .sz-foot-h { letter-spacing: .2em !important; font-size: .8rem !important; font-weight: 700 !important; }
.sz-switch a { min-width: 28px; min-height: 28px; display: inline-flex; align-items: center; justify-content: center; }
.woocommerce-Tabs-panel--description > h2:first-child { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pl-sticker .woocommerce-Price-amount, .pl-tag .woocommerce-Price-amount { color: inherit !important; }
html body .sz-delivery summary { color: var(--pl-coral-text) !important; }
html body.woocommerce .single_add_to_cart_button.disabled, html body .single_add_to_cart_button.wc-variation-selection-needed { background: #ECE6F0 !important; color: #5E4E6C !important; opacity: 1 !important; }
html body .sz-news-band .sz-eyebrow { color: #fff !important; opacity: 1 !important; }
