/* Blog, article, policies, contact, our stores and product search (inc/content-pages.php). */

/* Our stores (as today) */
.yms-stores{background:#f7f5fb;color:#1a1128}
.yms-stores__wrap{padding-top:48px;padding-bottom:64px}
.yms-stores__intro{max-width:760px;margin-bottom:44px}
.yms-stores__brand{position:relative;width:280px;max-width:100%;height:92px;overflow:hidden;background:transparent;margin-bottom:20px}
.yms-stores__brand img{position:absolute;left:50%;top:50%;width:320px;height:160px;max-width:none;transform:translate(-50%,-50%)}
.yms-stores__eyebrow{margin:0 0 10px;color:#5b2c9e;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.yms-stores__intro h1{font-size:48px;line-height:1.08;letter-spacing:-.02em;font-weight:600;color:#1a1128;margin:0 0 20px}
.yms-stores__intro>p{font-size:18px;line-height:1.6;color:#655f70;margin:0}
.yms-stores__jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.yms-stores__jump a{display:inline-flex;align-items:center;gap:20px;border:1px solid #d9cbe9;background:white;padding:10px 16px;border-radius:8px;color:#5b2c9e;text-decoration:none;font-size:15px;font-weight:600}
.yms-store{background:#fff;border:1px solid #e5dced;border-radius:16px;margin-top:28px;overflow:hidden;scroll-margin-top:200px}
.yms-store__heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;border-bottom:1px solid #ece7f2}
.yms-store__heading h2{font-size:25px;line-height:1.2;color:#1a1128;margin:0;font-weight:600;letter-spacing:0}
.yms-store__heading h2 span{display:block;margin-top:6px;color:#655f70;font-size:17px;font-weight:400}
.yms-store__arrows{display:flex;gap:10px;flex-shrink:0}
.yms-store__arrows button{width:44px;height:44px;border-radius:50%;border:1px solid #dfd2ec;color:#5b2c9e;background:white;font-size:24px;cursor:pointer}
.yms-store__arrows button:disabled{opacity:.3;cursor:default}
.yms-store__body{display:grid;grid-template-columns:1.15fr 1fr;min-width:0}
.yms-store__photos{min-width:0;padding:24px}
.yms-store-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:10px;cursor:grab}
.yms-store-gallery::-webkit-scrollbar{display:none}
.yms-store-gallery.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;user-select:none}
.yms-store-gallery figure{flex:0 0 100%;width:100%;min-width:0;margin:0;position:relative;scroll-snap-align:start;background:#1a1128}
.yms-store-gallery img{display:block;width:100%;height:410px;object-fit:cover;pointer-events:none}
.yms-store-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 18px 16px;background:linear-gradient(transparent,#1a1128dd);color:#fff;font-size:14px;line-height:1.4}
.yms-store__hint{display:flex;justify-content:space-between;gap:10px;color:#756c80;font-size:12px;margin:12px 0 0}
.yms-store__details{display:grid;gap:22px;padding:26px 28px 28px 8px}
.yms-store__details h3{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#756c80;margin:0 0 8px}
.yms-store__details address,.yms-store__details p{font-style:normal;font-size:15px;line-height:1.6;color:#1a1128;margin:0}
.yms-store__details strong{font-weight:600}
.yms-store__map{display:inline-block;color:#5b2c9e;font-size:14px;font-weight:600;text-underline-offset:3px;margin-top:10px}
.yms-store__phone{display:block;font-size:24px;color:#1a1128;font-weight:600;text-decoration:none;line-height:1.3}
.yms-store__email{display:inline-block;margin-top:5px;font-size:14px;color:#5b2c9e;text-decoration:none;overflow-wrap:anywhere}
.yms-store__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.yms-store__actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border-radius:8px;background:#5b2c9e;color:white;font-weight:600;font-size:14px;text-decoration:none}
.yms-store__actions a.yms-store__whatsapp{background:#e8f7ee;color:#176c3a;border:1px solid #c4e8d1}
.yms-store__details .yms-store__actions{margin-top:0;align-items:stretch}
.yms-store__actions svg,.yms-store__social-icon svg{width:24px;height:24px;flex-shrink:0}
.yms-store__social-icon svg{width:22px;height:22px}
.yms-store__call span{display:block;font-size:12px;line-height:1.5}
.yms-store__call strong{display:block;font-size:17px;letter-spacing:.01em}
.yms-store__actions+.yms-store__email{margin-top:12px}
.yms-store__social{display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid #ece7f2;padding-top:18px;font-size:13px}
.yms-store__social span{color:#756c80}
.yms-store__social a{color:#5b2c9e;font-weight:600;text-underline-offset:3px}
.yms-store__social a.yms-store__social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:#fff;text-decoration:none}
.yms-store__instagram{background:linear-gradient(135deg,#7541c8,#d52c78,#ed9131)}
.yms-store__facebook{background:#1877f2}
.yms-stores a:focus-visible,.yms-stores button:focus-visible,.yms-store-gallery:focus-visible{outline:2px solid #5b2c9e;outline-offset:3px}
@media(max-width:989px){
  .yms-store__body{grid-template-columns:1fr}
  .yms-store__details{padding:8px 24px 28px;grid-template-columns:1fr 1fr}
  .yms-store__social{grid-column:1/-1}
  .yms-store-gallery img{height:380px}
}
@media(max-width:599px){
  .yms-stores__wrap{padding-top:30px;padding-bottom:40px}
  .yms-stores__intro h1{font-size:36px}
  .yms-stores__intro>p{font-size:16px}
  .yms-stores__jump{gap:8px}
  .yms-stores__jump a{font-size:14px;width:100%;justify-content:space-between}
  .yms-store{scroll-margin-top:200px}
  .yms-store__heading{padding:20px 18px;gap:12px}
  .yms-store__heading h2{font-size:21px}
  .yms-store__heading h2 span{font-size:15px}
  .yms-store__arrows{gap:6px}
  .yms-store__arrows button{width:40px;height:40px}
  .yms-store__photos{padding:16px}
  .yms-store-gallery img{height:290px}
  .yms-store__details{padding:8px 18px 24px;grid-template-columns:1fr}
  .yms-store__hint{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .yms-store-gallery{scroll-behavior:auto}
}
/* Blog list */
.yms-blog { padding-block: 36px 64px; }
.yms-blog__title { margin: 0 0 28px; color: var(--yms-ink); font-size: 40px; font-weight: 700; letter-spacing: -0.01em; }
.yms-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.yms-article-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ece9e4; border-radius: var(--yms-radius-lg); background: var(--yms-white); }
.yms-article-card__media { display: block; aspect-ratio: 1; overflow: hidden; background: var(--yms-surface); }
.yms-article-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.yms-article-card:hover .yms-article-card__media img { transform: scale(1.03); }
.yms-article-card__body { padding: 20px 22px 24px; }
.yms-article-card__title { margin: 0 0 10px; font-size: 20px; line-height: 1.3; }
.yms-article-card__title a { color: var(--yms-ink); text-decoration: none; }
.yms-article-card__title a:hover { text-decoration: underline; }
.yms-article-card__date { margin: 0 0 10px; color: var(--yms-muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.yms-article-card__excerpt { margin: 0; color: #655f70; font-size: 15px; line-height: 1.6; }
.yms-blog__empty { color: var(--yms-muted); }
.yms-blog--first .yms-article-card:first-child { grid-column: 1 / -1; text-align: center; }   /* newest article: full width, as today */
.yms-blog--first .yms-article-card:first-child .yms-article-card__media { aspect-ratio: auto; height: 550px; background: var(--yms-white); }
.yms-blog--first .yms-article-card:first-child .yms-article-card__media img { object-fit: cover; }
.yms-blog--first .yms-article-card:first-child .yms-article-card__body { max-width: 760px; margin: 0 auto; padding: 24px 24px 32px; }
.yms-blog--first .yms-article-card:first-child .yms-article-card__title { font-size: 24px; }
.yms-content-page .nav-links { display: flex; gap: 12px; margin-top: 32px; }
.yms-content-page .nav-links a, .yms-content-page .nav-links span { padding: 8px 14px; border: 1px solid var(--yms-line); border-radius: 6px; color: var(--yms-ink); text-decoration: none; }
.yms-content-page .nav-links .current { background: var(--yms-ink); color: var(--yms-white); }

/* Article */
.yms-article { padding-bottom: 56px; }
.yms-article__hero { max-width: 760px; margin: 32px auto 0; padding-inline: var(--yms-gutter); box-sizing: content-box; }
.yms-article__hero img { display: block; width: 100%; height: auto; max-height: 760px; border-radius: var(--yms-radius-lg); object-fit: contain; background: var(--yms-surface); }
.yms-article__header { max-width: calc(860px + 2 * var(--yms-gutter)); margin-top: 32px; }
.yms-article__title { margin: 0 0 12px; color: var(--yms-ink); font-size: clamp(28px, 2.2vw + 14px, 40px); line-height: 1.2; }
.yms-article__date { margin: 0 0 16px; color: var(--yms-muted); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.yms-article__share { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; border: 0; background: none; color: var(--yms-ink); font: 600 14px var(--yms-font); cursor: pointer; }
.yms-article__share .icon, .yms-article__share svg { width: 18px; height: 18px; }
.yms-article__share-status { margin-left: 10px; color: var(--yms-success); font-size: 13px; }
.yms-article__content { max-width: calc(860px + 2 * var(--yms-gutter)); margin-top: 28px; color: #202124; }
.yms-article__content img { max-width: 100%; height: auto; }
.yms-article__content a { color: var(--yms-purple); }
.yms-article__back { max-width: calc(860px + 2 * var(--yms-gutter)); margin-top: 40px; }
.yms-article__back a { color: var(--yms-ink); font-weight: 600; text-decoration: none; }
.yms-article__back a:hover { text-decoration: underline; }

/* Policies */
.yms-policy-page .content-page { max-width: calc(860px + 2 * var(--yms-gutter)); }
.yms-policy-page .content-page__title { font-size: 40px; }
.yms-policy-page .entry-content { max-width: none; color: #3b3542; }
.yms-policy-page .entry-content :is(h2, h3, h4) { margin-top: 1.6em; color: var(--yms-ink); }
.yms-policy-page .entry-content h4 { font-size: 18px; }
.yms-policy-page .entry-content ul { padding-left: 1.3em; }
.yms-policy-page .entry-content li + li { margin-top: 0.35em; }

/* Contact */
.yms-contact { max-width: calc(720px + 2 * var(--yms-gutter)); padding-block: 40px 64px; }
.yms-contact__title { margin: 0 0 28px; color: var(--yms-ink); font-size: 40px; }
.yms-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.yms-field { margin: 0 0 18px; }
.yms-field label { display: block; margin-bottom: 7px; color: #504556; font-size: 14px; font-weight: 650; }
.yms-field label span { color: #9a5f30; }
.yms-field :is(input, textarea) { display: block; width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #cfc8d6; border-radius: 5px; background: #fff; color: #2c2533; font: 15px/1.5 var(--yms-font); }
.yms-field textarea { resize: vertical; }
.yms-field :is(input, textarea)[aria-invalid="true"] { border-color: #be6658; }
.yms-contact__trap { position: absolute; left: -9999px; }
.yms-contact__send { min-width: 160px; }
.yms-contact__status { margin: 14px 0 0; color: var(--yms-success); font-size: 15px; }
.yms-contact__status.is-error { color: var(--yms-error); }

/* Search results and shop */
.yms-search { padding-block: 8px 64px; }
.yms-search__title { margin: 0 0 18px; color: var(--yms-ink); font-size: 36px; }
.yms-search__count { margin: 0 0 18px; color: var(--yms-muted); font-size: 14px; }
.yms-search__empty { padding: 32px; border: 1px solid #ece9e4; border-radius: var(--yms-radius-lg); background: var(--yms-white); }
.yms-search__empty p { margin: 0 0 18px; }

@media (max-width: 989px) {
  .yms-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 749px) {
  .yms-blog--first .yms-article-card:first-child .yms-article-card__media { height: auto; aspect-ratio: 1; }
  .yms-blog__title, .yms-contact__title, .yms-policy-page .content-page__title { font-size: 30px; }
  .yms-article-grid { grid-template-columns: 1fr; }
  .yms-article__hero { margin-top: 16px; }
  .yms-contact__row { grid-template-columns: 1fr; }
  .yms-search__title { font-size: 26px; }
}

/* Categories (/category): category cards, 3 across (2 on tablets and phones, as today) */
.yms-collection-card .yms-article-card__title { margin-bottom: 8px; font-size: 18px; }
@media (max-width: 749px) {
  .yms-collections .yms-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .yms-collection-card .yms-article-card__body { padding: 12px 12px 16px; }
  .yms-collection-card .yms-article-card__title { font-size: 16px; }
  .yms-collection-card .yms-article-card__excerpt { font-size: 13px; line-height: 1.5; }
}
