/* PRÉLUDE / Mobile usability refinement, 2026-10-20.
   Preserve the original editorial design, product images, and affiliate destinations. */
:where(button,a,input,select):focus-visible {
  outline:2px solid #8d6b59;
  outline-offset:3px;
}
/* Give links and buttons enough room for fingers without enlarging the icons. */
.cookie-banner button.btn.small {
  min-height:44px;
  padding:11px 15px;
  font-size:12px;
  margin:3px 6px 3px 0;
}
.cookie-banner > a {display:inline-flex;align-items:center;min-height:44px;padding:0 10px;font-size:12px!important;}
.product-card .heart {min-width:44px;min-height:44px;height:44px;width:44px;top:7px;right:7px;display:grid;place-items:center;}
.product-card .card-bottom .card-link {min-height:44px;min-width:86px;display:inline-flex;align-items:center;justify-content:flex-end;padding:8px 2px 8px 9px;line-height:1.4;text-align:right;}
.product-card .product-name {display:flex;align-items:center;min-height:44px;line-height:1.55;}
.filter-btn,.catalog-group-view,.mag-tabs button {min-height:44px;}
.btn.small,.detail-compare-button,.modal-purchase-jump {min-height:44px;}
.compare-clear,.compare-remove,.compare-close,.modal .close {min-height:44px;min-width:44px;}
.mobile-menu a {min-height:44px;display:flex;align-items:center;}
/* Mobile detail CTA appears only when the page has scrolled beyond product intro.
   It is not displayed over Cookie consent or the comparison dialog. */
.mobile-purchase-dock {display:none;}
@media(max-width:760px){
  .headbar {grid-template-columns:44px minmax(0,1fr) 94px;column-gap:3px;min-height:65px;}
  .headleft {min-width:44px;justify-content:flex-start;}
  .headright {min-width:0;justify-content:flex-end;gap:2px;}
  .headleft .iconbutton,.headright .iconbutton {height:44px;width:44px;min-height:44px;min-width:44px;}
  .wordmark {min-width:0;max-width:100%;}
  .wordmark b {font-size:clamp(19px,5.7vw,27px);letter-spacing:.11em;white-space:nowrap;}
  .wordmark small {letter-spacing:.12em;font-size:6px;}
  .filter-btn {padding:10px 14px;}
  .cookie-banner {bottom:max(8px,env(safe-area-inset-bottom));padding:14px;}
  .cookie-banner .btn.small {min-height:44px;padding:10px 12px;font-size:12px;}
  .cookie-banner > a {font-size:12px!important;}
  .detail-text .detail-top-actions .btn {min-height:48px;}
  .detail-text .d-dynamic .btn {min-height:48px;line-height:1.5;}
  .detail-visual img {max-height:min(72vh,460px);object-fit:contain;}
  .detail-layout {gap:10px;}
  .detail-text {padding-top:10px;}
  #purchase-options,.detail-decision-guide {scroll-margin-top:86px;}
  /* Flexible mobile-only purchase shortcut: clear wording + seller-condition reminder. */
  .mobile-purchase-dock {position:fixed;bottom:0;left:0;right:0;z-index:125;
     padding:9px max(12px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));
     background:rgba(255,252,249,.97);border-top:1px solid #e8d9cf;
     box-shadow:0 -6px 25px rgba(80,57,45,.1);gap:10px;align-items:center;}
  .mobile-purchase-dock.is-visible {display:flex;}
  .mobile-purchase-dock .dock-note{min-width:0;flex:1;font-size:10px;line-height:1.5;color:#74645c;}
  .mobile-purchase-dock .dock-note b {display:block;color:#624f45;font-size:11px;font-weight:600;}
  .mobile-purchase-dock .dock-cta {flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;text-align:center;
     min-height:48px;max-width:56vw;padding:11px 14px;background:#82685e;color:#fff;
     border-radius:2px;font-size:12px;line-height:1.4;letter-spacing:.02em;font-weight:600;}
  body.has-mobile-purchase-dock {padding-bottom:calc(86px + env(safe-area-inset-bottom));}
  .detailpage .to-top {bottom:100px;}
}
@media(max-width:360px){
 .mobile-purchase-dock .dock-cta {padding:11px 10px;font-size:11px;max-width:55vw;}
 .mobile-purchase-dock .dock-note {font-size:9px;}
 .wordmark b {font-size:20px;letter-spacing:.09em;}
}
@media(min-width:761px){.mobile-purchase-dock{display:none!important;}}
@media(prefers-reduced-motion:reduce){.mobile-purchase-dock{transition:none;}}
