/* Mobile refinements for the Publink designer. Desktop layout is unchanged. */
@media (max-width: 860px) {
  .pd-designer-page .pd-swatch,
  .pd-designer-page .pd-swatch-mas {
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex-shrink: 0;
    border-radius: 3px;
  }
  .pd-designer-page .pd-colors,
  .pd-designer-page .pd-swatches { gap: 8px; }
  .pd-designer-page .pd-swatch:hover { transform: none; }
  .pd-designer-page .pd-step,
  .pd-designer-page .pd-back,
  .pd-designer-page .pd-cart-btn,
  .pd-designer-page .pd-hotspot {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .pd-designer-page .pd-stepper input { min-height: 44px; }
  .pd-designer-page .pd-hotspot { display: flex; align-items: center; justify-content: center; }
  .pd-designer-page .pd-hotspot[hidden] { display: none; }
  .pd-designer-page .pd-zone-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pd-designer-page .pd-zone-tabs .pd-tab { min-height: 44px; padding: 10px 8px; }
  .pd-designer-page .pd-chip,
  .pd-designer-page .pl-chooser-filters button,
  .pd-designer-page .pd-pr-seg-btn,
  .pd-designer-page .pd-pr-tool,
  .pd-designer-page .pd-pr-pop-item,
  .pd-designer-page .pd-pr-icon-item,
  .pd-designer-page .pd-pr-layer-btns button { min-height: 44px; min-width: 44px; }
  .pd-designer-page .pd-btn { min-height: 44px; }

  /* Keep the purchase action larger than the secondary save action. */
  .pd-designer-page .pd-overlay:not(.pd-en-chooser) .pd-topbar-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr) 44px;
  }
  .pd-designer-page .pd-topbar-actions .pd-btn {
    min-width: 0;
    min-height: 46px;
    padding-inline: 8px;
    white-space: normal;
    line-height: 1.3;
  }
  .pd-designer-page .pd-topbar-actions .pd-cart-btn { width: 44px; min-width: 44px; }
  .pd-designer-page .pd-overlay.pd-static { padding-bottom: calc(116px + env(safe-area-inset-bottom, 0px)); }
  .pd-designer-page .pd-overlay.pd-static.pd-en-chooser { padding-bottom: 0; }

  /* Prevent automatic form zoom on iPhones without disabling page zoom. */
  .pd-designer-page .pd-panel input:not([type="range"]):not([type="color"]):not([type="checkbox"]):not([type="file"]),
  .pd-designer-page .pd-panel select,
  .pd-designer-page .pd-panel textarea,
  .pd-designer-page .pd-pr-panel input:not([type="range"]):not([type="color"]):not([type="checkbox"]):not([type="file"]),
  .pd-designer-page .pd-pr-panel select,
  .pd-designer-page .pd-pr-panel textarea,
  .pd-designer-page .pd-proy-campo input { font-size: 16px; min-height: 44px; }
  .pd-designer-page .pd-pr-props input[type="color"] { width: 44px; height: 44px; }

  /* Three useful starting routes must fit above the fixed print tools. */
  .pd-designer-page #pd-print-wrap .pd-pr-start {
    padding: 16px 14px 104px;
    align-items: flex-start;
    overscroll-behavior: contain;
  }
  .pd-designer-page .pd-pr-start-inner { margin: 0 auto; }
  .pd-designer-page .pd-pr-start-cards { gap: 10px; }
  .pd-designer-page .pd-pr-start-card {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 5px 12px;
    padding: 16px;
    min-height: 100px;
    max-width: none;
    align-items: start;
  }
  .pd-designer-page .pd-pr-start-card-icon { grid-column: 1; grid-row: 1 / 3; }
  .pd-designer-page .pd-pr-start-card-title,
  .pd-designer-page .pd-pr-start-card-desc { grid-column: 2; }
  .pd-designer-page .pd-pr-start-card-title { font-size: 15px; line-height: 1.3; }
  .pd-designer-page .pd-pr-start-card-desc { font-size: 12px; line-height: 1.5; }
  .pd-designer-page .pd-pr-start-hint { margin-top: 14px; line-height: 1.5; }
  .pd-designer-page .pd-pr-mobile-topbar .pd-pr-mtop-btn,
  .pd-designer-page .pd-pr-mobile-topbar .pd-pr-mtop-price { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .pd-designer-page .pd-pr-mobile-topbar #pd-pr-next { min-height: 44px; }

  /* An explicit, finger-sized close control; keep the tool content scrollable. */
  .pd-designer-page .pd-pr-panel {
    max-height: min(66vh, calc(100vh - 124px));
    max-height: min(66dvh, calc(100dvh - 124px));
    min-height: min(32vh, 220px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .pd-designer-page .pd-pr-sheet-handle {
    position: absolute;
    top: 6px;
    right: 10px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    background: #f0f3f4;
    color: #06494d;
    border: 1px solid #dfe2e5;
    border-radius: 3px;
    z-index: 1;
  }
  .pd-designer-page .pd-pr-sheet-handle::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    margin: -5px auto 0;
  }
  .pd-designer-page .pd-pr-panel-head { min-height: 56px; padding: 10px 66px 10px 18px; }
  .pd-designer-page .pd-pr-panel-body { min-height: 0; overscroll-behavior: contain; padding-bottom: 24px; }
  .pd-designer-page .pd-pr-layers-list summary { min-height: 44px; padding-block: 12px; }
  .pd-designer-page .pd-pr-rail-btn { min-height: 48px; }
  .pd-designer-page .pd-pr-panel button:focus-visible,
  .pd-designer-page .pd-pr-mobile-topbar button:focus-visible { outline: 2px solid #006b70; outline-offset: 2px; }
  .pd-designer-page .pd-pr-summary-head .pd-pr-mtop-btn { min-width: 44px; min-height: 44px; }

  .pd-pr-modal-overlay .pd-pr-modal-close,
  .pd-designer-page .pd-proy-box .pd-close { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .pd-pr-modal-overlay .pd-tpl-upload-link,
  .pd-pr-modal-overlay .pd-tpl-chips .pd-chip { min-height: 44px; }
}

@media (max-width: 400px) {
  .pd-designer-page .pd-pr-mobile-topbar .pd-pr-mtop-logo { display: none; }
  .pd-designer-page .pd-pr-mobile-topbar #pd-pr-next { margin-left: auto; }
}
