/* WordPress integration only. The approved mockup styles remain unchanged. */
.hiraya-icon { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; vertical-align: middle; }
.hiraya-nav__social .hiraya-icon { font-size: 18px; }
.hiraya-mobile-menu__nav .hiraya-icon { font-size: 21px; color: var(--hiraya-rose); }
.hiraya-mobile-menu__inquiry .hiraya-icon { color: inherit; }
.hiraya-footer__instagram .hiraya-icon { font-size: 20px; }
.collection-credentials .hiraya-icon { width: 28px; height: 28px; color: var(--hiraya-rose); }
.catalogue-card__arrow .hiraya-icon { font-size: 24px; }
.hiraya-image-placeholder {
  display: grid;
  place-items: center;
  min-height: 160px;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  background: var(--hiraya-rose-soft);
  color: var(--hiraya-rose-deep);
}
.hiraya-image-placeholder > span { font-family: "Italiana", Georgia, serif; font-size: clamp(18px, 2.4vw, 38px); letter-spacing: .15em; }
.editorial-hero__media .hiraya-image-placeholder { position: absolute; inset: 0; background: #a38175; color: var(--hiraya-paper); }
.editorial-hero__media--still-life .hiraya-image-placeholder { background: #c4aba2; }
.hiraya-mega-menu__feature .hiraya-image-placeholder { min-height: 0; height: clamp(132px, calc(var(--hiraya-mega-menu-height) - 100px), 152px); }
.hiraya-mega-menu__feature .hiraya-image-placeholder > span { font-size: 18px; }
.category-card__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.category-card--photo::after { content: ""; position: absolute; inset: 0; z-index: 1; opacity: 1; background: linear-gradient(180deg, rgb(43 38 37 / .4), transparent 50%, rgb(43 38 37 / .24)); pointer-events: none; }
.category-card--photo .category-card__title,
.category-card--photo .category-card__action { z-index: 2; color: var(--hiraya-paper); }
.hiraya-content { padding-top: 40px; padding-bottom: 80px; }
.hiraya-content :where(p, li) { max-width: 70ch; }
.hiraya-content :where(h2, h3, h4) { font-weight: 400; }
.hiraya-content a { text-decoration: underline; text-underline-offset: 4px; }
.hiraya-content article + article { padding-top: 32px; }
.hiraya-process-steps h3 { margin: 0; padding-top: 26px; border-top: 1px solid var(--hiraya-line); }
.hiraya-process-steps p { max-width: 60ch; margin: 14px 0 28px; color: var(--hiraya-muted); line-height: 1.75; }
.hiraya-testimonials-content { padding-bottom: 40px; }
.hiraya-testimonials-content .wp-block-columns.client-stories { display: grid; }
.client-testimonials .wp-block-quote { margin: 0 0 40px; padding: 32px 0; border-top: 1px solid var(--hiraya-line); border-bottom: 1px solid var(--hiraya-line); }
.client-testimonials .wp-block-quote p { margin: 0 0 24px; font-size: clamp(26px, 3vw, 46px); font-weight: 400; line-height: 1.25; letter-spacing: -.025em; }
.client-testimonials .wp-block-quote cite { color: var(--hiraya-muted); font-size: 12px; font-style: normal; }
.client-gallery .wp-block-gallery img { height: auto; }
.product-extra-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.product-extra-photos img { width: 100%; height: auto; }
.product-detail__description p:first-child { margin-top: 0; }
.hiraya-pagination { padding: 24px 0 64px; }
.hiraya-pagination ul { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.hiraya-pagination .page-numbers a,
.hiraya-pagination .page-numbers span { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 8px; }
.hiraya-pagination .current { background: var(--hiraya-rose); color: var(--hiraya-paper); }
.hiraya-nojs-nav { position: relative; z-index: 30; display: flex; flex-wrap: wrap; gap: 16px; padding: 16px; background: var(--hiraya-paper); }
.hiraya-nojs-nav a { text-decoration: underline; }
html:not(.hiraya-js) .hiraya-menu-toggle { display: none; }
body.admin-bar .hiraya-header { top: 32px; }
body.admin-bar .hiraya-mobile-menu { top: calc(var(--hiraya-header-height) + 32px); }
@media (max-width: 782px) {
  body.admin-bar .hiraya-header { top: 46px; }
  body.admin-bar .hiraya-mobile-menu { top: calc(var(--hiraya-header-height) + 46px); }
}
@media (max-width: 600px) {
  #wpadminbar { position: fixed; }
}
@media (prefers-reduced-motion: reduce) {
  .custom-story__image { position: absolute; width: 100%; height: 100%; }
}
