/* Khusus interaksi detail di Gallery. Tidak mengubah style.css global. */
.gallery-page .produk-detail-trigger { cursor: pointer; }
.gallery-page .produk-detail-trigger:focus-visible { outline: 3px solid #b18b4b; outline-offset: 4px; }
.gallery-page .produk-detail-trigger a { position: relative; z-index: 1; }
.parfum-modal[aria-hidden="true"] { display: none; }
.parfum-modal { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; padding: 24px; }
.parfum-modal__backdrop { position: absolute; inset: 0; background: rgba(23, 18, 14, .68); backdrop-filter: blur(4px); }
.parfum-modal__dialog { position: relative; z-index: 1; width: min(900px, 100%); max-height: min(88vh, 780px); overflow: auto; background: #fffdfa; border: 1px solid #e9ded2; border-radius: 22px; box-shadow: 0 24px 80px rgba(0,0,0,.28); animation: parfum-modal-in .18s ease-out; }
.parfum-modal__close { position: sticky; float: right; top: 12px; margin: 12px 12px -48px 0; z-index: 3; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #fff; color: #30251f; box-shadow: 0 2px 12px #30251f20; font-size: 27px; line-height: 1; cursor: pointer; }
.parfum-modal__content { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 30px; padding: 34px; }
.parfum-modal__image-wrap { min-height: 350px; border-radius: 16px; background: #f0e8df; display: grid; place-items: center; overflow: hidden; }
.parfum-modal__image-wrap img { width: 100%; height: 100%; max-height: 490px; object-fit: contain; padding: 24px; }
.parfum-modal__details { align-self: center; min-width: 0; padding: 12px 0; }
.parfum-modal__category { display: inline-block; margin-bottom: 10px; padding: 5px 11px; border-radius: 99px; background: #eee4d5; color: #655337; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.parfum-modal__details h2 { margin: 0 0 8px; color: #30251f; font: 600 clamp(26px, 3vw, 36px)/1.2 'Playfair Display', Georgia, serif; }
.parfum-modal__price { margin: 0 0 24px; color: #806437; font-size: 20px; font-weight: 800; }
.parfum-modal__details h3 { margin: 0 0 7px; color: #30251f; font-size: 15px; }
.parfum-modal__description { margin: 0 0 24px; color: #75685d; font-size: 14px; line-height: 1.85; white-space: pre-line; overflow-wrap: anywhere; }
.parfum-modal__contact { display: inline-flex; align-items: center; justify-content: center; }
body.parfum-modal-open { overflow: hidden; }
@keyframes parfum-modal-in { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 650px) {
 .parfum-modal { padding: 12px; }
 .parfum-modal__dialog { max-height: 92vh; border-radius: 17px; }
 .parfum-modal__content { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
 .parfum-modal__image-wrap { min-height: 210px; max-height: 270px; }
 .parfum-modal__image-wrap img { max-height: 270px; padding: 14px; }
 .parfum-modal__details { padding: 0 2px 4px; }
 .parfum-modal__price { margin-bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) { .parfum-modal__dialog { animation: none; } }
