/* ============================================================================
   Тема „maison" — common.css (ОБЩ файл на темата; страниците не го пипат)
   Общите страници на ядрото (`storefront.*`, К12): кошница, мини-кошница,
   поръчка, профил, CMS страници, блог, падащото търсене и банерът за
   бисквитки — под .theme-maison, БЕЗ да се пипа нито един техен шаблон (§3.6).
   Цветовете и шрифтовете идват от пренасочените токени на Aurora (base.css);
   тук са формата: радиуси 2 px, бутони въглен, полета с рамка --mx-line-strong,
   хеърлайни вместо сенки, Cormorant само от 22 px нагоре.

   Зарежда се САМО на страници без собствен изглед на темата: изгледът на maison
   казва @section('mx-page', '<име>') и head партиалът пропуска този лист (бюджетът
   за CSS, §9.3). Докато началната/категорията/продуктът на maison не са готови
   (стъпки 3, 4, 6), те минават оттук — стандартните изгледи изглеждат в бранда.
   Мини-кошницата и падащото търсене са в header.css, банерът за бисквитки — във
   footer.css: те са на ВСЯКА страница.
   ========================================================================= */

/* --- Контейнер и общи елементи ------------------------------------------------ */
body.theme-maison .wrap {
  max-width: calc(var(--mx-max) + 2 * var(--mx-gutter));
  padding-left: var(--mx-gutter);
  padding-right: var(--mx-gutter);
}
body.theme-maison main { min-height: 40vh; }
body.theme-maison a { text-underline-offset: 4px; }
body.theme-maison .textlink {
  color: var(--mx-ink);
  border-bottom: 0;
  text-decoration: underline;
  text-decoration-color: var(--mx-gold);
  font-weight: 500;
}
body.theme-maison .eyebrow,
body.theme-maison .pd-brand,
body.theme-maison .pbrand {
  font-family: var(--mx-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .16em;
  color: var(--mx-gold-700);
}
body.theme-maison .crumbs { font-size: 12px; letter-spacing: .04em; color: var(--mx-ink-2); padding-top: var(--mx-s5); }
body.theme-maison .crumbs a { color: var(--mx-ink-2); }
body.theme-maison .crumbs a:hover { color: var(--mx-ink); text-decoration: underline; text-decoration-color: var(--mx-gold); }

/* --- Бутоните на ядрото → бутоните на темата (§2.4) ---------------------------- */
body.theme-maison :is(.cta, .buy, .btn-primary, button.w-full, a.w-full) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border: 1px solid var(--mx-ink);
  border-radius: var(--mx-radius);
  background: var(--mx-ink);
  color: #FFFFFF;
  font-family: var(--mx-sans);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
body.theme-maison :is(.cta, .buy, .btn-primary, button.w-full, a.w-full):hover { background: #000000; border-color: #000000; color: #FFFFFF; }
body.theme-maison :is(.cta, .buy, .btn-primary, button.w-full, a.w-full):focus-visible { outline: 2px solid var(--mx-ink); outline-offset: 0; box-shadow: 0 0 0 4px #FFFFFF; }
body.theme-maison :is(.w-full) { display: flex; width: 100%; }
body.theme-maison :is(.addbtn, .btn-secondary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--mx-ink);
  border-radius: var(--mx-radius);
  background: transparent;
  color: var(--mx-ink);
  font-family: var(--mx-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
body.theme-maison :is(.addbtn, .btn-secondary):hover { background: var(--mx-ink); color: #FFFFFF; }

/* --- Полета (§3.6): рамка --mx-line-strong (3,68), радиус 2, етикет над полето --- */
body.theme-maison :is(.fld input, .fld textarea, .fld select, .toolbar select, input[type="email"], input[type="password"], input[type="tel"], input[type="text"]):not(.mx-hd__search input):not(.mx-drawer__search input) {
  border: 1px solid var(--mx-line-strong);
  border-radius: var(--mx-radius);
  background: #FFFFFF;
  color: var(--mx-ink);
  font-family: var(--mx-sans);
  font-size: 16px;
}
body.theme-maison .fld input:focus,
body.theme-maison .fld textarea:focus { outline: 2px solid var(--mx-gold-700); outline-offset: 0; border-color: var(--mx-ink); }
body.theme-maison .fld span { font-weight: 600; font-size: 13px; color: var(--mx-ink); }
body.theme-maison .fld.has-err input { border-color: var(--mx-err); }
body.theme-maison .fld em { color: var(--mx-err); }
body.theme-maison .method { border-color: var(--mx-line-strong); border-radius: var(--mx-radius); background: #FFFFFF; }
body.theme-maison .method:has(input:checked) { border-color: var(--mx-ink); background: var(--mx-gold-50); }
body.theme-maison .method input { accent-color: var(--mx-ink); }
body.theme-maison .qty { border-color: var(--mx-line-strong); }
body.theme-maison .qty span { border-color: var(--mx-line); }

/* --- Заглавия на общите страници: Cormorant само от 22 px нагоре (§2.2, Д1) ----- */
body.theme-maison :is(.summary h3, .co-sect h3, .empty h2, .pd-desc h2) {
  font-family: var(--mx-serif);
  font-weight: 500;
  font-size: 24px;
  line-height: 30px;
}
body.theme-maison :is(.cat-head h1, .confirm h1) { font-family: var(--mx-serif); font-weight: 500; font-size: 32px; line-height: 36px; }
body.theme-maison .pdp h1 { font-family: var(--mx-serif); font-weight: 500; font-size: 26px; line-height: 32px; }
body.theme-maison .sect-head h2 { font-family: var(--mx-serif); font-weight: 500; font-size: 26px; line-height: 32px; }
body.theme-maison .hero h1 { font-family: var(--mx-serif); font-weight: 500; font-size: 38px; line-height: 42px; letter-spacing: -0.01em; }
@media (min-width: 1200px) {
  body.theme-maison :is(.cat-head h1, .confirm h1) { font-size: 44px; line-height: 48px; }
  body.theme-maison .pdp h1 { font-size: 34px; line-height: 40px; }
  body.theme-maison .sect-head h2 { font-size: 34px; line-height: 40px; }
  body.theme-maison .hero h1 { font-size: 60px; line-height: 64px; }
}
body.theme-maison .hero h1 em { font-style: italic; color: var(--mx-ink); }
body.theme-maison .co-sect h3 .no { font-family: var(--mx-sans); border-color: var(--mx-ink); color: var(--mx-ink); border-radius: 50%; }
body.theme-maison :is(.cart-table th, .vgroup h4, .vgroup .fh, .fgroup h4, .fgroup .fh) {
  font-family: var(--mx-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--mx-ink);
}
body.theme-maison .cart-table th { border-bottom: 1px solid var(--mx-ink); }

/* --- Кошницата (storefront/cart.blade.php) --------------------------------------
   Първият екран след „Добави". Шаблонът е на ядрото (5 колони: снимка · име и
   единична цена · брой · сума · ×) — тук само формата. Миниатюрата е като в
   картата: бял пакшот на --mx-ivory-2 с contain + multiply; името е с тегло 400
   (както в картите), не удебелено. */
body.theme-maison .cart-table td { border-bottom-color: var(--mx-line); }
body.theme-maison .cart-table .c-img { width: 112px; }
body.theme-maison .cart-table .c-img img,
body.theme-maison .cart-table .c-img svg {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: contain;
  border: 0;
  background: var(--mx-ivory-2);
  mix-blend-mode: multiply;
}
body.theme-maison .cart-table td > a { color: var(--mx-ink); text-decoration: none; }
body.theme-maison .cart-table td > a:hover { text-decoration: underline; text-decoration-color: var(--mx-gold); }
body.theme-maison .cart-table td > a strong { font-weight: 400; font-size: 15px; line-height: 22px; }
body.theme-maison .cart-table .c-unit { color: var(--mx-ink-2); font-size: 13px; white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
body.theme-maison .cart-table .price strong { font-weight: 500; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
body.theme-maison .c-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--mx-ink-2);
  font-size: 22px;
  line-height: 1;
}
body.theme-maison .c-remove:hover { color: var(--mx-ink); }
body.theme-maison .cart-table .qty button { min-height: 44px; }
/* Телефон: таблицата става „карта на ред" — снимка 88 px вляво; вдясно името
   (до 3 реда) и ×, отдолу броят и сумата. Иначе колоната с името е 83 px и
   „Малки / сребърни / обеци…" излиза по една дума на ред. */
@media (max-width: 767px) {
  body.theme-maison .cart-table thead { display: none; }
  body.theme-maison .cart-table,
  body.theme-maison .cart-table tbody { display: block; width: 100%; }
  body.theme-maison .cart-table tr {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    grid-template-areas: "img name rm" "img qty sum";
    align-items: start;
    gap: 8px 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--mx-line);
  }
  body.theme-maison .cart-table td { display: block; min-width: 0; padding: 0; border: 0; }
  body.theme-maison .cart-table td.c-img { grid-area: img; width: 88px; }
  body.theme-maison .cart-table td:nth-child(2) { grid-area: name; }
  body.theme-maison .cart-table td:nth-child(3) { grid-area: qty; align-self: end; }
  body.theme-maison .cart-table td:nth-child(4) { grid-area: sum; align-self: end; text-align: right; line-height: 44px; }
  body.theme-maison .cart-table td:nth-child(5) { grid-area: rm; margin: -12px -12px 0 0; }
  body.theme-maison .cart-table .c-img img,
  body.theme-maison .cart-table .c-img svg { width: 88px; height: 88px; }
  body.theme-maison .cart-table td > a strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    font-size: 14px;
    line-height: 20px;
  }
}

/* --- Кутии: хеърлайни, без сенки -------------------------------------------------- */
body.theme-maison :is(.summary, .co-sect, .cat, .pcard) { border-color: var(--mx-line); border-radius: 0; box-shadow: none; }
body.theme-maison :is(.pcard:hover, .cat:hover) { box-shadow: none; }
body.theme-maison .cart-flash { background: var(--mx-gold-50); border-color: var(--mx-line-strong); color: var(--mx-ink); font-weight: 500; }
body.theme-maison .srow.total { font-weight: 600; }

/* --- Стандартната продуктова карта (ако някой общ изглед я ползва) ---------------- */
body.theme-maison .pcard { border: 0; background: transparent; gap: 0; }
body.theme-maison .pimg { background: var(--mx-ivory-2); }
body.theme-maison .pimg img { mix-blend-mode: multiply; }
body.theme-maison .pbody { padding: var(--mx-s3) 0 0; gap: 6px; }
body.theme-maison .pname { font-family: var(--mx-sans); font-weight: 400; font-size: 15px; line-height: 22px; }
body.theme-maison .pprice { font-weight: 500; font-size: 15px; font-variant-numeric: lining-nums tabular-nums; }
body.theme-maison .pprice .pp { color: var(--mx-ink); }
body.theme-maison .badge { background: #FFFFFF; color: var(--mx-gold-700); border: 1px solid var(--mx-gold-700); font-family: var(--mx-sans); font-weight: 600; font-size: 12px; letter-spacing: .1em; border-radius: var(--mx-radius); }
body.theme-maison .badge.promo { background: var(--mx-gold-100); border-color: var(--mx-gold-100); color: var(--mx-ink); }
body.theme-maison .gal-main,
body.theme-maison .thumbs button { border-color: var(--mx-line); background: var(--mx-ivory-2); }
body.theme-maison .chips .chip { border-color: var(--mx-line-strong); }
body.theme-maison .chips .chip.sel { background: var(--mx-ink); border-color: var(--mx-ink); }
body.theme-maison .pd-price .now { font-weight: 500; font-size: 24px; font-variant-numeric: lining-nums tabular-nums; }
body.theme-maison .pd-save { display: none; } /* „Спестявате X €" — не (д12) */
body.theme-maison .stock { color: var(--mx-ok); font-weight: 500; }
body.theme-maison .stock i { background: var(--mx-ok); }
body.theme-maison .pagin a,
body.theme-maison .pagin span { border-color: var(--mx-line); border-radius: var(--mx-radius); font-weight: 500; }
body.theme-maison .pagin .cur { background: var(--mx-ink); border-color: var(--mx-ink); }
body.theme-maison .hero-visual { background: var(--mx-ivory); }
/* Рисуваната резерва на героя (буркан) не е бижу — без снимка героят е само текст. */
body.theme-maison .hero-visual:has(> svg) { display: none; }
body.theme-maison .hero:has(> .hero-visual > svg) { grid-template-columns: 1fr; }
body.theme-maison .hero-visual img { mix-blend-mode: multiply; }
body.theme-maison .active-filters a { border-color: var(--mx-line-strong); color: var(--mx-ink); border-radius: var(--mx-radius); font-family: var(--mx-sans); }
body.theme-maison .acc summary { font-weight: 600; }

/* --- ⚠️ Временни маски (К14) — махат се със стъпка 7б / Я4 и с изгледите на maison -
   Общите текстове на ядрото обещават неща, които на този магазин не са потвърдени
   („изпращане до 24 часа", „Еконт / Спиди", „Връщане до 14 дни", „Лесно връщане ·
   Сигурно плащане", трите карти „доверие" на стандартната начална). Поправката е
   генерична в ядрото (Я4: текстове от данните) и изисква „да"; дотогава темата
   НЕ ги показва. Фактите на магазина са в лентата над футъра (TrustBar/trust партиал). */
body.theme-maison .pcard .badge,               /* стандартната карта: „Ново" по created_at = за всичко (К2) */
body.theme-maison .trust,                      /* storefront.home: 4 карти с твърди обещания */
body.theme-maison .shipnote,                   /* storefront.product: ship_line, pay_line, подкана без кошницата (К17) */
body.theme-maison .summary .s-note + .s-note { /* кошница: pay_line · поръчка: trust_returns · trust_payment */
  display: none;
}

/* --- Страници (CMS, правни) и блог: четим текст ------------------------------- */
body.theme-maison :is(.prose, .post-body, .page-body) { color: var(--mx-ink); font-size: 16px; line-height: 26px; }
body.theme-maison :is(.prose, .post-body, .page-body) :is(h2, h3) { font-family: var(--mx-serif); font-weight: 500; }
body.theme-maison :is(.prose, .post-body, .page-body) a { color: var(--mx-ink); text-decoration: underline; text-decoration-color: var(--mx-gold); }
body.theme-maison :is(.prose, .post-body, .page-body) table { border-collapse: collapse; }
body.theme-maison :is(.prose, .post-body, .page-body) :is(td, th) { border-bottom: 1px solid var(--mx-line); padding: 8px 12px 8px 0; text-align: left; }

/* Лепящият хедър (48 px на десктоп, 56 px на телефон) не бива да покрива
   лепящите колони на общите страници (котвите — base.css). */
@media (min-width: 881px) {
  body.theme-maison .pdp > div:last-child { top: 72px; }
}
body.theme-maison .summary { top: 72px; }
