/* ==========================================================================
   base.css - токени, елементи, бутони, полета, .mg-entry
   Магия на хартия. Токените са 1:1 от PLAN.md раздел 3.
   Копие на magia/makets/final/assets/base.css (без .mg-maket-note - той е
   само за макета, И8) + локалните @font-face и Woo базата.
   Само този файл има елементни селектори и само като body.mg <елемент>.
   Линковете са body.mg a:any-link (0,2,1) - бие .elementor-kit-11 a (И7).
   Затова компонент, който може да е <a>, се пише и като body.mg a.mg-x
   (бутони, чипове), а линк вътре в компонент - body.mg .mg-x a.
   ========================================================================== */

/* ==========================================================================
   Шрифтове - локални woff2 от @fontsource (pt-serif, golos-text, nunito),
   само subsets cyrillic и latin, font-display:swap.
   Пътищата са относителни спрямо magia/assets/css/.
   ========================================================================== */
@font-face{
  font-family:'PT Serif';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/pt-serif-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'PT Serif';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/pt-serif-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'PT Serif';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/pt-serif-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'PT Serif';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/pt-serif-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'PT Serif';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/pt-serif-cyrillic-400-italic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'PT Serif';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/pt-serif-latin-400-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/golos-text-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/golos-text-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/golos-text-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/golos-text-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/golos-text-cyrillic-600-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/golos-text-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/golos-text-cyrillic-700-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Golos Text';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/golos-text-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Nunito';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('../fonts/nunito-cyrillic-900-normal.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Nunito';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('../fonts/nunito-latin-900-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --mg-pink:#C13B76; --mg-pink-hover:#A32F62; --mg-pink-text:#8C2653;
  --mg-teal:#16716D; --mg-teal-text:#0E4F4B; --mg-yellow:#E0A21F; --mg-boxnow:#2AAE66;
  --mg-cream:#FFF6F1; --mg-powder:#FDE9E2; --mg-line:#F5DCD3;
  --mg-ink:#33262B; --mg-text:#5A4A50; --mg-meta:#756369; --mg-white:#FFFFFF;
  --mg-p-pink:#FF8FBF; --mg-p-pink-bg:#FFD9E8; --mg-p-yellow:#F5CE55; --mg-p-yellow-bg:#FFEFC9;
  --mg-p-teal:#93E2D2; --mg-p-teal-bg:#DFF3F2; --mg-p-purple:#A88BD8; --mg-p-purple-bg:#EDE4FB;
  --mg-font-head:'PT Serif',Georgia,serif;
  --mg-font-body:'Golos Text',system-ui,sans-serif;
  --mg-font-tile:'Nunito',sans-serif;
  --mg-r-sm:12px; --mg-r-md:16px; --mg-r-lg:18px; --mg-r-pill:999px;
  --mg-sh-sm:0 1px 2px rgba(51,38,43,.08);
  --mg-sh-md:0 6px 20px rgba(51,38,43,.10);
  --mg-sh-lg:0 18px 40px rgba(51,38,43,.13);
  --mg-container:1200px; --mg-gutter:40px; --mg-section:80px; --mg-gap:22px;
}
@media (max-width:767px){
  :root{ --mg-gutter:16px; --mg-section:32px; --mg-gap:12px; }
}

*,*::before,*::after{ box-sizing:border-box; }

body.mg{
  margin:0;
  background:var(--mg-cream);
  color:var(--mg-text);
  font-family:var(--mg-font-body);
  font-size:clamp(16px,0.9rem + 0.2vw,17px);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

body.mg h1,body.mg h2,body.mg h3,body.mg h4{
  font-family:var(--mg-font-head);
  font-weight:700;
  color:var(--mg-ink);
  margin:0 0 .5em;
}
body.mg h1{ font-size:clamp(28px,1.2rem + 2.4vw,46px); line-height:1.1; }
body.mg h2{ font-size:clamp(27px,1.1rem + 2.1vw,42px); line-height:1.12; }
body.mg h3{ font-size:clamp(16px,0.9rem + 0.6vw,21px); line-height:1.25; }
body.mg h4{ font-size:clamp(16px,0.9rem + 0.4vw,19px); line-height:1.3; }

body.mg p{ margin:0 0 1em; }
body.mg a:any-link{ /* (0,2,1) - бие .elementor-kit-11 a (0,1,1) */
  color:var(--mg-pink-text); text-decoration:none;
  font-family:inherit; font-size:inherit; font-weight:inherit; letter-spacing:normal;
}
body.mg a:any-link:hover{ /* (0,3,1) - бие .elementor-kit-11 a:hover (0,2,1) */
  color:var(--mg-pink-text); text-decoration:underline;
}
body.mg img{ max-width:100%; height:auto; display:block; }
body.mg ul,body.mg ol{ margin:0 0 1em; padding-left:1.25em; }
body.mg hr{ border:0; border-top:1px solid var(--mg-line); margin:2rem 0; }
body.mg :focus-visible{ outline:3px solid var(--mg-yellow); outline-offset:3px; }

/* ---------- Оформление ---------- */
.mg-container{
  width:100%;
  max-width:calc(var(--mg-container) + var(--mg-gutter) * 2);
  margin-inline:auto;
  padding-inline:var(--mg-gutter);
}
.mg-section{ padding-block:var(--mg-section); }
.mg-section--cream{ background:var(--mg-cream); }
.mg-section--powder{ background:var(--mg-powder); }

body.mg .mg-eyebrow{
  font-family:var(--mg-font-body);
  font-size:clamp(12px,0.7rem + 0.1vw,13px);
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mg-teal);
  margin:0 0 10px;
}
.mg-lead{ font-size:clamp(16px,0.9rem + 0.3vw,19px); line-height:1.65; color:var(--mg-text); }
.mg-meta{ font-size:clamp(14px,0.8rem + 0.1vw,15px); font-weight:500; line-height:1.5; color:var(--mg-meta); }

.mg-head{ margin-bottom:32px; }
.mg-head__row{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--mg-gap); flex-wrap:wrap; }
.mg-head h2{ margin-bottom:0; }

/* ---------- Бутони ---------- */
.mg-btn,body.mg a.mg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:12px 28px;
  font-family:var(--mg-font-body); font-size:16px; font-weight:700; line-height:1.2;
  color:var(--mg-white); background:var(--mg-pink);
  border:2px solid var(--mg-pink); border-radius:var(--mg-r-pill);
  text-decoration:none; cursor:pointer;
  transition:background-color .15s, color .15s, box-shadow .15s;
}
.mg-btn:hover,body.mg a.mg-btn:hover{ background:var(--mg-pink-hover); border-color:var(--mg-pink-hover); color:var(--mg-white); text-decoration:none; }
.mg-btn--ghost,body.mg a.mg-btn--ghost{ color:var(--mg-pink-text); background:var(--mg-white); border-color:var(--mg-p-pink); font-weight:700; }
.mg-btn--ghost:hover,body.mg a.mg-btn--ghost:hover{ background:var(--mg-p-pink-bg); color:var(--mg-pink-text); border-color:var(--mg-p-pink); }
.mg-btn--info,body.mg a.mg-btn--info{ background:var(--mg-teal); border-color:var(--mg-teal); color:var(--mg-white); }
.mg-btn--info:hover,body.mg a.mg-btn--info:hover{ background:var(--mg-teal-text); border-color:var(--mg-teal-text); color:var(--mg-white); }
/* вторичен мек бутон (cookie „Настройки", дизайн 01) */
.mg-btn--soft,body.mg a.mg-btn--soft{ color:var(--mg-text); background:var(--mg-cream); border:1px solid #F0CFC4; }
.mg-btn--soft:hover,body.mg a.mg-btn--soft:hover{ color:var(--mg-pink); background:var(--mg-cream); border-color:var(--mg-pink); }
.mg-btn--sm{ min-height:40px; padding:8px 18px; font-size:15px; }
.mg-btn--block{ width:100%; }
.mg-btn[disabled],.mg-btn.is-disabled{
  background:var(--mg-line); border-color:var(--mg-line); color:var(--mg-meta); cursor:not-allowed;
}
.mg-link,body.mg a.mg-link{ font-weight:600; color:var(--mg-pink-text); text-decoration:none; }
.mg-link:hover,body.mg a.mg-link:hover{ text-decoration:underline; }

/* ---------- Полета ---------- */
.mg-field{ margin-bottom:18px; }
.mg-field__label{ display:block; font-size:15px; font-weight:600; color:var(--mg-ink); margin-bottom:6px; }
.mg-input,
body.mg input[type=text],body.mg input[type=email],body.mg input[type=tel],
body.mg input[type=search],body.mg input[type=number],body.mg input[type=password],
body.mg select,body.mg textarea{
  width:100%; min-height:48px; padding:11px 16px;
  font-family:var(--mg-font-body); font-size:16px; color:var(--mg-ink);
  background:var(--mg-white); border:1px solid var(--mg-line); border-radius:var(--mg-r-sm);
}
body.mg textarea{ min-height:140px; line-height:1.6; resize:vertical; }
body.mg select{ appearance:none; padding-right:40px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235A4A50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center; }
.mg-input::placeholder,body.mg textarea::placeholder{ color:var(--mg-meta); }
.mg-field__help{ font-size:14px; color:var(--mg-meta); margin-top:6px; }
.mg-field--error .mg-input,
.mg-field--error input,.mg-field--error textarea,.mg-field--error select{
  background:var(--mg-p-pink-bg); border-color:var(--mg-pink);
}
.mg-field__error{ display:block; font-size:14px; font-weight:600; color:var(--mg-pink-text); margin-top:6px; }
.mg-check{ display:flex; gap:10px; align-items:flex-start; font-size:15px; }
.mg-check input{ width:20px; height:20px; margin:3px 0 0; accent-color:var(--mg-pink); flex:0 0 auto; }

/* ---------- Чипове и баджове ---------- */
.mg-chip,body.mg a.mg-chip{
  display:inline-flex; align-items:center; gap:6px;
  min-height:38px; padding:7px 16px;
  font-size:15px; font-weight:600; line-height:1.2; color:var(--mg-ink);
  background:var(--mg-white); border:1px solid var(--mg-line); border-radius:var(--mg-r-pill);
  cursor:pointer; text-decoration:none;
  transition:background-color .15s, color .15s, border-color .15s;
}
.mg-chip:hover,body.mg a.mg-chip:hover{ background:var(--mg-powder); color:var(--mg-pink-text); text-decoration:none; }
.mg-chip.is-active,body.mg a.mg-chip.is-active{ background:var(--mg-pink); border-color:var(--mg-pink); color:var(--mg-white); }
.mg-chip--soft,body.mg a.mg-chip--soft{ background:var(--mg-p-pink-bg); border-color:transparent; color:var(--mg-pink-text); }
.mg-chip--teal,body.mg a.mg-chip--teal{ background:var(--mg-p-teal-bg); border-color:transparent; color:var(--mg-teal-text); }
.mg-chip--stock{ background:var(--mg-p-teal-bg); border-color:transparent; color:var(--mg-teal-text); }
.mg-chip--out{ background:var(--mg-line); border-color:transparent; color:var(--mg-ink); }

.mg-badge{
  display:inline-flex; align-items:center;
  padding:6px 11px;
  font-size:12px; font-weight:700; line-height:1.2;
  border-radius:var(--mg-r-pill);
}
/* цветовете по 00-dizayn-sistema (плътни) */
.mg-badge--nov{ background:var(--mg-pink); color:var(--mg-white); }
.mg-badge--top{ background:var(--mg-p-purple); color:#2E1D57; }
.mg-badge--malak{ background:var(--mg-p-yellow); color:#5A3B00; }
.mg-badge--komplekt{ background:var(--mg-white); color:var(--mg-pink-text); border:1px solid var(--mg-line); }
.mg-badge--out{ background:var(--mg-text); color:var(--mg-white); }

/* ---------- Звезди ---------- */
.mg-stars{ display:inline-flex; gap:2px; color:var(--mg-yellow); font-size:15px; line-height:1; }

/* ---------- Известия ---------- */
.mg-note{ padding:16px 20px; border-radius:var(--mg-r-md); font-size:16px; }
.mg-note--pink{ background:var(--mg-p-pink-bg); color:var(--mg-pink-text); }
.mg-note--teal{ background:var(--mg-p-teal-bg); color:var(--mg-teal-text); }
.mg-note--yellow{ background:var(--mg-p-yellow-bg); color:#7A5A06; }
.mg-note--purple{ background:var(--mg-p-purple-bg); color:#4C3277; }

/* ---------- Троха ---------- */
.mg-crumbs{ font-size:14px; color:var(--mg-meta); padding-block:18px; }
body.mg .mg-crumbs a{ color:var(--mg-meta); }
body.mg .mg-crumbs a:hover{ color:var(--mg-pink-text); }
.mg-crumbs span{ color:var(--mg-ink); }

/* ---------- Акордеон ---------- */
.mg-acc{ border-bottom:1px solid var(--mg-line); }
.mg-acc > summary{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:56px; padding:14px 0; cursor:pointer; list-style:none;
  font-family:var(--mg-font-head); font-size:clamp(16px,0.9rem + 0.4vw,19px); font-weight:700; color:var(--mg-ink);
}
.mg-acc > summary::-webkit-details-marker{ display:none; }
.mg-acc > summary::after{ content:'+'; font-family:var(--mg-font-body); font-size:24px; font-weight:400; color:var(--mg-pink); flex:0 0 auto; }
.mg-acc[open] > summary::after{ content:'\2212'; }
.mg-acc__body{ padding-bottom:18px; }
.mg-acc__body p:last-child{ margin-bottom:0; }

/* ---------- Пагинация ---------- */
.mg-pager{ display:flex; gap:8px; justify-content:center; align-items:center; margin-top:40px; flex-wrap:wrap; }
body.mg .mg-pager a,.mg-pager span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:46px; min-height:46px; padding:0 8px;
  border:0; border-radius:var(--mg-r-pill); background:var(--mg-white);
  font-size:16px; font-weight:400; color:var(--mg-text); text-decoration:none;
}
body.mg .mg-pager a:hover{ background:var(--mg-p-pink-bg); color:var(--mg-pink-text); text-decoration:none; }
body.mg .mg-pager .is-current{ background:var(--mg-pink); color:var(--mg-white); font-weight:700; }
@media (max-width:767px){
  body.mg .mg-pager a,.mg-pager span{ min-width:40px; min-height:40px; font-size:15px; }
}

/* ---------- Празно състояние ---------- */
.mg-empty{ text-align:center; padding-block:48px; }
.mg-empty__icon{
  display:flex; align-items:center; justify-content:center;
  width:88px; height:88px; margin:0 auto 20px;
  background:var(--mg-p-pink-bg); border-radius:var(--mg-r-pill); color:var(--mg-pink-text);
}
.mg-empty__chips{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin:18px 0 24px; }
.mg-empty__actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ---------- .mg-entry: базовият слой за чуждото HTML (правило R10) ---------- */
.mg-entry{ max-width:760px; }
.mg-entry > *{ max-width:100%; }
body.mg .mg-entry h2{ font-size:clamp(24px,1.1rem + 1.2vw,32px); margin-top:1.6em; }
body.mg .mg-entry h3{ font-size:clamp(18px,0.95rem + 0.6vw,24px); margin-top:1.4em; }
body.mg .mg-entry h4{ font-size:clamp(16px,0.9rem + 0.3vw,20px); margin-top:1.2em; }
body.mg .mg-entry p,body.mg .mg-entry ul,body.mg .mg-entry ol{ margin-block:0 1.1em; }
body.mg .mg-entry li{ margin-bottom:.4em; }
body.mg .mg-entry a{ text-decoration:underline; }
body.mg .mg-entry img,body.mg .mg-entry figure{ border-radius:var(--mg-r-md); margin-block:1.5em; }
body.mg .mg-entry figcaption{ font-size:14px; color:var(--mg-meta); margin-top:8px; }
body.mg .mg-entry blockquote{
  margin:1.6em 0; padding:4px 0 4px 20px;
  border-left:4px solid var(--mg-pink);
  font-family:var(--mg-font-head); font-style:italic; font-size:clamp(17px,0.95rem + 0.4vw,21px); color:var(--mg-ink);
}
/* Гол бутон в чуждото HTML (B5.4): `<button>` и `input[type=submit|button]`
   без клас идват от форма в `post_content` и излизат като бутон на браузъра
   (Arial 13.33px). Тук получават вида на `.mg-btn` (primary). */
body.mg .mg-entry button,
body.mg .mg-entry input[type="submit"],
body.mg .mg-entry input[type="button"]{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:auto; min-height:48px; padding:12px 28px;
  font-family:var(--mg-font-body); font-size:16px; font-weight:700; line-height:1.2;
  color:var(--mg-white); background:var(--mg-pink);
  border:2px solid var(--mg-pink); border-radius:var(--mg-r-pill);
  text-decoration:none; cursor:pointer;
  transition:background-color .15s, color .15s, box-shadow .15s;
}
body.mg .mg-entry button:hover,
body.mg .mg-entry input[type="submit"]:hover,
body.mg .mg-entry input[type="button"]:hover{
  background:var(--mg-pink-hover); border-color:var(--mg-pink-hover); color:var(--mg-white);
}

.mg-table-wrap{ overflow-x:auto; margin-block:1.5em; }
body.mg .mg-entry table{ width:100%; border-collapse:collapse; font-size:16px; }
.mg-entry th,.mg-entry td{ border:1px solid var(--mg-line); padding:10px 14px; text-align:left; }
.mg-entry th{ background:var(--mg-cream); font-weight:600; color:var(--mg-ink); }

/* ---------- Woo база ---------- */
.woocommerce-message,.woocommerce-error,.woocommerce-info{
  list-style:none; margin:0 0 24px; padding:16px 20px; border-radius:var(--mg-r-md); font-size:16px;
}
.woocommerce-message{ background:var(--mg-p-teal-bg); color:var(--mg-teal-text); }
.woocommerce-error{ background:var(--mg-p-pink-bg); color:var(--mg-pink-text); }
.woocommerce-info{ background:var(--mg-p-yellow-bg); color:#7A5A06; }
/* Р31: иконата на Woo стои абсолютно върху текста - пада */
body.mg .woocommerce-message::before,body.mg .woocommerce-error::before,body.mg .woocommerce-info::before,body.mg .woocommerce-error li::before{ content:none; display:none; }

.mg-visually-hidden{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ==========================================================================
   Woo база: маркъпът е на WooCommerce, видът е по токените на темата.
   Селекторите са от design/live/*-dom.md.
   ========================================================================== */

/* Полетата на Woo (B5.4).
   `.woocommerce form .form-row .input-text` (0,4,1) от woocommerce-general.css
   бие всяко правило на темата върху елемент (0,2,1) и рисува рамка
   `1px solid rgba(32,7,7,.8)` с радиус 4px. Правилото обаче чете стойностите си
   от променливи - затова темата не се бие за специфичност, а подава своите
   стойности. Непозната за дадена версия на Woo променлива просто не се ползва. */
body.mg{
  --wc-form-border-width:1px;
  --wc-form-border-color:var(--mg-line);
  --wc-form-border-radius:var(--mg-r-sm);
  --wc-form-color-background:var(--mg-cream);
  --wc-form-color-text:var(--mg-ink);
}

/* пагинация на архивите: nav.woocommerce-pagination = .mg-pager (arhiv-dom.md) */
.woocommerce-pagination{ display:flex; gap:8px; justify-content:center; align-items:center; margin-top:40px; flex-wrap:wrap; }
body.mg .woocommerce-pagination ul,body.mg .woocommerce-pagination ul.page-numbers{
  display:flex; gap:8px; justify-content:center; align-items:center; flex-wrap:wrap;
  margin:0; padding:0; list-style:none; border:0;
}
body.mg .woocommerce-pagination li{ margin:0; border:0; }
body.mg .woocommerce-pagination a.page-numbers,
body.mg .woocommerce-pagination span.page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:46px; min-height:46px; padding:0 8px;
  border:0; border-radius:var(--mg-r-pill); background:var(--mg-white);
  font-size:16px; font-weight:400; color:var(--mg-text); text-decoration:none;
}
body.mg .woocommerce-pagination a.page-numbers:hover{ background:var(--mg-p-pink-bg); color:var(--mg-pink-text); text-decoration:none; }
body.mg .woocommerce-pagination span.current{ background:var(--mg-pink); color:var(--mg-white); font-weight:700; }
/* Woo бие горните по специфичност (чертите на li, лавандуловата текуща, clearfix-ът) */
body.mg nav.woocommerce-pagination ul li{ margin:0; border:0; float:none; display:block; overflow:visible; }
body.mg .woocommerce-pagination ul.page-numbers::before,
body.mg .woocommerce-pagination ul.page-numbers::after{ content:none; display:none; }
body.mg nav.woocommerce-pagination ul li span.current{ background:var(--mg-pink); color:var(--mg-white); font-weight:700; }
body.mg nav.woocommerce-pagination ul li a:hover,
body.mg nav.woocommerce-pagination ul li a:focus{ background:var(--mg-p-pink-bg); color:var(--mg-pink-text); }
@media (max-width:767px){
  body.mg .woocommerce-pagination a.page-numbers,
  body.mg .woocommerce-pagination span.page-numbers{ min-width:40px; min-height:40px; font-size:15px; }
}

/* троха на Woo и Rank Math: същият вид като .mg-crumbs */
body.mg .woocommerce-breadcrumb{ font-size:14px; line-height:1.5; color:var(--mg-meta); padding-block:18px; }
body.mg .woocommerce-breadcrumb a{ color:var(--mg-meta); }
body.mg .woocommerce-breadcrumb a:hover{ color:var(--mg-pink-text); }

/* таблиците на количката, чекаута и акаунта (kolichka/chekaut/akaunt-dom.md) */
body.mg table.shop_table{
  width:100%; border-collapse:collapse; border:0; border-radius:0;
  font-family:var(--mg-font-body); font-size:16px; color:var(--mg-text);
}
body.mg table.shop_table th{
  padding:12px 14px; text-align:left; border:0; border-bottom:1px solid var(--mg-line);
  font-family:var(--mg-font-body); font-size:13px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--mg-meta);
}
body.mg table.shop_table td{
  padding:14px; text-align:left; border:0; border-bottom:1px solid var(--mg-line);
  vertical-align:middle; color:var(--mg-text);
}
body.mg table.shop_table tfoot th,body.mg table.shop_table tfoot td{ font-weight:700; color:var(--mg-ink); }

/* звездите на Woo (span.star-rating): цветът и размерът са на темата */
body.mg .star-rating{ color:var(--mg-yellow); font-size:15px; line-height:1; }
body.mg .star-rating span{ color:var(--mg-yellow); }
body.mg .woocommerce-product-rating .star-rating{ font-size:16px; }

/* ==========================================================================
   Грид контейнери с хоризонтално скролващи деца (И7): min-width:0, за да не
   разпъват реда. Същото правило стои и в product.css / pages.css.
   ========================================================================== */
.mg-gallery,.mg-page__layout{ min-width:0; }
.mg-gallery > *,.mg-page__layout > *{ min-width:0; }
