/* Visible mobile search, using the theme's existing product suggestions. */
.aperfume-mobile-search { display: none; }
@media (max-width: 849px) {
  .aperfume-mobile-search { display: block; padding: 10px 15px 12px; background: #fff; border-bottom: 1px solid #eee; position: relative; z-index: 35; }
  .aperfume-mobile-search .searchform { margin: 0; }
  .aperfume-search-row { display: grid; grid-template-columns: minmax(0,1fr) 65px; align-items: stretch; border: 1px solid #d8d5ce; border-radius: 9px; background: #faf9f6; }
  .aperfume-mobile-search input[type=search] { min-width: 0; height: 44px; margin: 0; padding: 0 12px; border: 0; border-radius: 9px 0 0 9px; background: transparent; box-shadow: none; font-size: 16px; color: #222; }
  .aperfume-mobile-search input[type=search]:focus { outline: 2px solid #aa8a3b; outline-offset: -2px; }
  .aperfume-search-row button { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; min-width: 0; padding: 0 8px; margin: 0; border: 0; border-radius: 0 8px 8px 0; background: #1b1b1b; color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; }
  .aperfume-search-row svg { fill: none; stroke: currentColor; stroke-width: 2; flex-shrink: 0; }
  .aperfume-mobile-search .live-search-results { position: absolute; top: 100%; left: 0; right: 0; z-index: 60; }
  .aperfume-mobile-search .autocomplete-suggestions { max-height: min(360px,55vh); overflow-y: auto; border-radius: 8px; box-shadow: 0 7px 24px #0002; }
  .aperfume-mobile-search .autocomplete-suggestion { min-height: 64px; }
  .aperfume-mobile-search .search-price { color: #c40000; font-weight: 700; }
}
/* One quiet contact control replaces the two overlapping floating widgets. */
.aperfume-contact { position: fixed; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom,0px)); z-index: 1000; color: #222; font-size: 14px; }
.aperfume-contact > summary { display: flex; justify-content: center; align-items: center; gap: 6px; min-height: 42px; padding: 0 13px; font-size: 14px; list-style: none; cursor: pointer; border: 1px solid #b79a58; border-radius: 24px; background: #1b1b1b; color: #fff; font-weight: 700; box-shadow: 0 4px 16px #0003; }
.aperfume-contact > summary::-webkit-details-marker { display: none; }
.aperfume-contact > summary svg { width:18px; height:18px; fill: none; stroke: #d9bd75; stroke-width: 1.8; }
.aperfume-contact:not([open]) > summary { animation: aperfume-contact-shake 1.2s ease-in-out infinite; transform-origin: 50% 70%; }
.aperfume-contact:hover > summary, .aperfume-contact:focus-within > summary { animation: none; }
@keyframes aperfume-contact-shake { 0%,100%{transform:translateX(0) rotate(0)} 10%,30%,50%{transform:translateX(-3px) rotate(-12deg)} 20%,40%,60%{transform:translateX(3px) rotate(12deg)} 70%{transform:translateX(-2px) rotate(-7deg)} 80%{transform:translateX(2px) rotate(7deg)} 90%{transform:translateX(0) rotate(0)} }
@media(prefers-reduced-motion:reduce){.aperfume-contact:not([open]) > summary{animation:none}}
.aperfume-contact-panel { position: absolute; right: 0; bottom: 64px; width: min(290px,calc(100vw - 28px)); padding: 18px; border: 1px solid #e6e1d7; border-radius: 14px; background: #fff; box-shadow: 0 8px 30px #0002; }
.aperfume-contact-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.aperfume-contact-heading strong { font-size: 16px; }
.aperfume-contact-close { min-width: 36px; min-height: 36px; margin: -7px -7px -7px 0; padding: 0; border: 0; background: transparent; color: #555; font-size: 24px; line-height: 1; box-shadow: none; }
.aperfume-contact-panel p { margin: 8px 0 14px; font-size: 13px; line-height: 1.5; color: #666; }
.aperfume-contact-panel > a { display: flex; flex-direction: column; gap: 2px; min-height: 54px; padding: 10px 12px; border-radius: 8px; text-decoration: none; }
.aperfume-contact-panel > a + a { margin-top: 8px; }
.aperfume-contact-zalo { background: #eef6ff; color: #075cb5; }
.aperfume-contact-phone { background: #f5f2ea; color: #473b21; }
.aperfume-contact-panel a span { font-size: 13px; }
.aperfume-contact-panel>a>strong{display:flex;align-items:center;gap:8px;line-height:1.4}
.aperfume-contact-panel .aperfume-channel-icon{display:inline-block;width:23px;height:23px;flex:0 0 23px;object-fit:contain;vertical-align:middle}
.aperfume-contact summary:focus-visible, .aperfume-contact a:focus-visible, .aperfume-contact button:focus-visible { outline: 2px solid #aa8a3b; outline-offset: 3px; }
body { padding-bottom: 72px; }
/* Verified shop information next to the buying controls. */
.aperfume-buying-info { margin: 22px 0 20px; padding: 17px; border: 1px solid #e8e1d2; border-radius: 10px; background: #faf9f6; color: #222; }
.aperfume-buying-info h2 { margin: 0 0 14px; font-size: 16px; font-weight: 700; line-height: 1.4; text-transform: none; }
.aperfume-buying-info ul { margin: 0; list-style: none; }
.aperfume-buying-info li { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; line-height: 1.5; }
.aperfume-buying-info li + li { margin-top: 13px; }
.aperfume-info-icon { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; flex-shrink: 0; border-radius: 50%; background: #ede5d2; color: #615025; font-weight: 700; }
.aperfume-buying-info li strong { display: block; font-size: 14px; font-weight: 700; }
.aperfume-buying-info a { display: inline-block; padding: 2px 0; color: #59513e; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.aperfume-decant-info { margin-top: 15px; padding-top: 12px; border-top: 1px solid #e5dfd3; font-size: 13px; }
.aperfume-decant-info summary { cursor: pointer; font-weight: 700; min-height: 30px; }
.aperfume-decant-info p { margin: 8px 0 2px; line-height: 1.6; }

@media (max-width: 849px) {
  .aperfume-mobile-search .autocomplete-suggestions { width: 100%; background: #fff; border: 1px solid #e8e3d8; padding: 4px 0; }
  .aperfume-mobile-search .autocomplete-suggestion { display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 10px; row-gap: 3px; padding: 12px !important; white-space: normal; border-bottom: 1px solid #f1eee8; }
  .aperfume-mobile-search .autocomplete-suggestion:last-child { border-bottom: 0; }
  .aperfume-mobile-search .autocomplete-suggestion .search-image { grid-column: 1; grid-row: 1 / span 2; float: none; width: 48px; height: 48px; margin: 0; object-fit: contain; }
  .aperfume-mobile-search .search-name { grid-column: 2; grid-row: 1; min-width: 0; color: #222; font-size: 14px; line-height: 1.4; }
  .aperfume-mobile-search .search-price { grid-column: 2; grid-row: 2; text-align: left; font-size: 13px; line-height: 1.4; }
  .aperfume-mobile-search .autocomplete-selected { background: #faf5e9; }
}

.aperfume-contact-facebook { background: #eef0ff; color: #3449a5; }
.aperfume-contact-directions{background:#eef7ef;color:#176735}
/* Consistent product prices in grids, widgets, search and product detail. */
.price, .price .woocommerce-Price-amount, .price .woocommerce-Price-currencySymbol,
.product_list_widget .woocommerce-Price-amount,
.search-price .woocommerce-Price-amount {
  color: #c40000 !important;
  font-weight: 700;
}
.price ins { color: inherit; background: transparent; }
/* Match the dark header throughout the footer. */
#footer, #footer .footer, #footer .footer-1, #footer .footer-2,
#footer .absolute-footer { background-color: #191919 !important; }
#footer, #footer .widget, #footer a, #footer .widget-title { color: #f2f2f2; }
#footer .absolute-footer { border-top: 1px solid #333; }
/* Slightly tighter product spacing on phones, retaining two columns. */
@media(max-width:549px){
  .row > .product-small.col{padding-left:10px;padding-right:10px;padding-bottom:22px}
  .row.small-columns-2:has(> .product-small.col){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));height:auto!important;align-items:start}
  .row.small-columns-2 > .product-small.col{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:auto!important;max-width:none!important}
  .row.small-columns-2 > .product-small.col .box-image img{aspect-ratio:1/1;object-fit:contain}
  .row.small-columns-2 > .product-small.col .product-title{min-height:2.8em}
}
