/* Phone layouts only. Artwork, dimension overlays and exports retain their own geometry. */
@media screen and (max-width:700px) {
  .pa-sample-section .pa-sample-heading { gap:10px; margin-bottom:12px; }
  .pa-sample-section .pa-sample-count { padding:6px 10px; font-size:14px; }
  .pa-sample-section .pa-sample-search-row { gap:8px; margin-bottom:14px; }
  .pa-sample-section .pa-sample-search { flex-basis:100%; max-width:none; gap:6px; font-size:16px; }
  .pa-sample-section .pa-sample-search input { min-height:48px; padding:11px 12px; font-size:16px; }
  .pa-sample-section .pa-sample-results { padding:0; font-size:16px; }
  .pa-sample-section .pa-sample-filters { gap:8px; margin-bottom:16px; }
  .pa-sample-section .pa-sample-filters button { min-height:48px; padding:10px 13px; font-size:16px; }
  .pa-sample-section .pa-sample-grid,
  .pa-sample-section .pa-sample-grid.pa-sample-grid--notary,
  .pa-sample-section .pa-sample-grid.pa-sample-grid--notary-multiple { grid-template-columns:minmax(0,1fr); gap:14px; }
  .pa-sample-section .pa-sample-grid.pa-sample-grid--doctor { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .pa-sample-section .pa-sample-card { border-radius:16px; }
  .pa-sample-section .pa-sample-card .pa-sample-info { padding:12px; gap:8px; }
  .pa-sample-section .pa-sample-card .pa-sample-info h3 { min-height:0; margin:0; font-size:18px; line-height:1.4; letter-spacing:-.15px; }
  .pa-sample-section .pa-sample-card .pa-sample-number,
  .pa-sample-section .pa-sample-card .pa-sample-measurement { max-width:100%; margin:0; padding:4px 7px; font-size:14px; line-height:1.4; white-space:normal; }
  .pa-sample-section .pa-sample-card .pa-sample-price { margin:0; gap:6px 8px; font-size:16px; line-height:1.4; }
  .pa-sample-section .pa-sample-card .pa-sample-price strong { font-size:23px; line-height:1.25; }
  .pa-sample-section .pa-sample-card .pa-sample-actions { gap:8px; margin-top:4px; }
  .pa-sample-section .pa-sample-card .pa-sample-actions a { min-height:48px; padding:10px 8px; font-size:16px; line-height:1.35; }
  .pa-sample-section .pa-sample-card .pa-cart-add { min-height:48px; margin-top:8px; padding:10px 8px; font-size:16px; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-info { padding:10px 8px; gap:8px 4px; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-info h3 { font-size:16px; line-height:1.4; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-number,
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-measurement { padding:4px; font-size:14px; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-price strong { font-size:20px; }
  body .pa-sample-grid--doctor .pa-sample-card.pa-fav-host[data-sample-dimensions] .pa-fav-price-row { flex-wrap:wrap; gap:8px; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-actions { grid-template-columns:minmax(0,1fr) 44px; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-actions a { padding:9px 3px; min-height:44px; }
  .pa-sample-section .pa-sample-grid--doctor .pa-sample-share { width:44px; }
  .pa-sample-section .pa-sample-more { gap:10px; margin-top:20px; }
  .pa-sample-section .pa-sample-more button { min-height:48px; max-width:100%; padding:12px 18px; font-size:16px; white-space:normal; }
  .pa-sample-section .pa-sample-note { margin-top:18px; font-size:16px; line-height:1.55; }

  /* Company samples stay recognisable at two cards per row. */
  #samples .samples-layout { gap:20px; }
  #samples .samples-grid,
  .samples-dialog .samples-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; }
  #samples .samples-layout > .samples-grid { padding:16px 0; }
  #samples .pa-fav-home-card[data-favorite-kind=business] { gap:10px; }
  #samples .samples-layout .sample-select { padding:10px; }
  #samples .sample-select small,
  .samples-dialog .sample-select small { font-size:16px; line-height:1.4; }
  .pa-catalogue .gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; padding-bottom:24px; }
  .pa-catalogue .gallery figure { min-width:0; padding:10px; border-radius:16px; }
  .pa-catalogue .gallery > .pa-fav-host figcaption { gap:10px; font-size:16px; line-height:1.4; }
  .pa-catalogue .gallery .sample-try { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; margin-top:10px; padding:9px 5px; font-size:16px; line-height:1.35; white-space:normal; }
  .pa-fav-business-controls { gap:14px; }
  body .pa-fav-toolbar { gap:8px; margin-bottom:14px; }
  body .pa-fav-toolbar button { min-height:48px; padding:10px 12px; font-size:16px; }
  .pa-cart-toolbar { gap:10px; margin:16px 0; padding:14px; }
  .pa-cart-toolbar > p { flex-basis:100%; font-size:16px; line-height:1.5; }
  .pa-cart-toolbar .pa-cart-toolbar-button { width:100%; min-height:48px; }

  /* The teacher catalogue uses its existing contents in a smaller phone layout. */
  .pa-inner.pa-teacher .hero { padding-top:20px; padding-bottom:28px; }
  .pa-inner.pa-teacher .hero-grid { grid-template-columns:minmax(0,1fr); gap:20px; padding-top:14px; }
  .pa-inner.pa-teacher .hero h1 { margin-bottom:16px; font-size:clamp(30px,8vw,38px); line-height:1.14; }
  .pa-inner.pa-teacher .hero .lead { font-size:16px; line-height:1.55; }
  .pa-inner.pa-teacher .language-line { margin:16px 0 20px; gap:10px; flex-wrap:wrap; }
  .pa-inner.pa-teacher .hero-actions { gap:12px; }
  .pa-inner.pa-teacher .hero-actions .button,
  .pa-inner.pa-teacher .hero-actions .text-link { min-height:48px; font-size:16px; }
  .pa-inner.pa-teacher .hero-detail { margin-top:14px; font-size:16px; line-height:1.5; }
  .pa-inner.pa-teacher .hero-gallery { grid-template-columns:1.15fr 1fr; gap:8px; max-width:430px; }
  .pa-inner.pa-teacher .hero-art-main { grid-column:auto; grid-row:1/3; flex-direction:column; min-height:0; gap:8px; padding:12px; }
  .pa-inner.pa-teacher .hero-art-main img { width:100%; height:auto; max-height:150px; object-fit:contain; }
  .pa-inner.pa-teacher .hero-art-main span { max-width:none; margin:0; font-size:16px; line-height:1.4; }
  .pa-inner.pa-teacher .hero-art-small { padding:8px; }
  .pa-inner.pa-teacher .hero-art-small img { width:100%; height:70px; object-fit:contain; }
  .pa-inner.pa-teacher .art-caption { font-size:14px; line-height:1.4; margin-top:2px; }
  .pa-inner.pa-teacher .section { padding-block:32px; }
  .pa-inner.pa-teacher .section-heading { margin-bottom:18px; }
  .pa-inner.pa-teacher .section-heading h2,
  .pa-inner.pa-teacher .custom h2,
  .pa-inner.pa-teacher .faq h2,
  .pa-inner.pa-teacher .order-section h2 { font-size:28px; line-height:1.2; }
  .pa-inner.pa-teacher .section-heading > p { margin-top:12px; font-size:16px; line-height:1.55; }
  .pa-inner.pa-teacher .catalog-toolbar { margin-bottom:14px; min-width:0; }
  .pa-inner.pa-teacher .filters { display:flex; flex-wrap:nowrap; width:100%; max-width:100%; gap:8px; padding-bottom:8px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#c9bcdf #f3eff8; }
  .pa-inner.pa-teacher .filters::-webkit-scrollbar { height:6px; }
  .pa-inner.pa-teacher .filters::-webkit-scrollbar-track { background:#f3eff8; border-radius:6px; }
  .pa-inner.pa-teacher .filters::-webkit-scrollbar-thumb { background:#c9bcdf; border-radius:6px; }
  .pa-inner.pa-teacher .filters button { flex:0 0 auto; min-height:48px; padding:10px 14px; font-size:16px; line-height:1.35; }
  .pa-inner.pa-teacher .filters span { font-size:14px; }
  .pa-inner.pa-teacher .catalog-search { margin-bottom:16px; }
  .pa-inner.pa-teacher .catalog-search label { margin-bottom:6px; font-size:16px; }
  .pa-inner.pa-teacher .catalog-search input { width:100%; min-height:48px; padding:11px 12px; font-size:16px; }
  .pa-inner.pa-teacher .stamp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; }
  .pa-inner.pa-teacher .stamp-card { padding:10px; border-radius:16px; }
  .pa-inner.pa-teacher .stamp-card h3 { min-height:0; margin-bottom:4px; font-size:16px; line-height:1.4; }
  .pa-inner.pa-teacher .stamp-card .stamp-select { margin-top:auto; padding-top:10px; min-height:48px; gap:8px; font-size:16px; line-height:1.35; }
  .pa-inner.pa-teacher .stamp-size { margin:8px 0 4px; font-size:14px; line-height:1.4; white-space:normal; }
  .pa-inner.pa-teacher .stamp-family { min-height:0; font-size:14px; line-height:1.4; }
  .pa-inner.pa-teacher .catalog-bottom { gap:10px; margin-top:20px; }
  .pa-inner.pa-teacher .catalog-bottom .button { width:100%; min-height:48px; font-size:16px; }
  .pa-inner.pa-teacher .selection-bar { gap:10px; padding:12px; margin-top:18px; }
  .pa-inner.pa-teacher .selection-bar p { font-size:16px; line-height:1.4; }
  .pa-inner.pa-teacher .selection-bar .button { min-height:48px; padding:10px 14px; font-size:16px; }
  .pa-inner.pa-teacher .price-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .pa-inner.pa-teacher .price-card { padding:20px; border-radius:18px; }
  .pa-inner.pa-teacher .price-card h3 { margin-bottom:10px; font-size:24px; line-height:1.25; }
  .pa-inner.pa-teacher .price-card > p:not(.price) { font-size:16px; line-height:1.5; }
  .pa-inner.pa-teacher .set-label { margin-bottom:10px; }
  .pa-inner.pa-teacher .price { margin-top:16px; font-size:16px; }
  .pa-inner.pa-teacher .price strong { font-size:30px; }
  .pa-inner.pa-teacher .price-unit { margin-bottom:16px; font-size:14px; }
  .pa-inner.pa-teacher .price-card .button { min-height:48px; font-size:16px; }
  .pa-inner.pa-teacher .custom-grid,
  .pa-inner.pa-teacher .faq-grid,
  .pa-inner.pa-teacher .order-grid { gap:22px; }
  .pa-inner.pa-teacher .custom .lead,
  .pa-inner.pa-teacher .order-section .lead { margin-top:14px; font-size:16px; line-height:1.55; }
  .pa-inner.pa-teacher .steps li { gap:14px; padding:18px 0; }
  .pa-inner.pa-teacher .steps h3 { margin-bottom:7px; font-size:18px; line-height:1.35; }
  .pa-inner.pa-teacher .steps p { font-size:16px; line-height:1.55; }
  .pa-inner.pa-teacher .faq summary { padding-top:18px; padding-bottom:18px; font-size:17px; line-height:1.4; }
  .pa-inner.pa-teacher .faq details p { font-size:16px; line-height:1.55; }
  .pa-inner.pa-teacher .order-form { padding:18px; border-radius:18px; }
  .pa-inner.pa-teacher .field { margin-bottom:16px; }
  .pa-inner.pa-teacher .field :is(input,textarea) { min-height:48px; padding:11px 12px; font-size:16px; }
  .pa-inner.pa-teacher .order-submit { min-height:48px; font-size:16px; }
  .pa-inner.pa-teacher .form-note,
  .pa-inner.pa-teacher .price-note,
  .pa-inner.pa-teacher .sample-note { font-size:16px; line-height:1.55; }

  /* Compact dialog controls keep the original sample stage intact. */
  .pa-sample-dialog-header,
  .pa-order-header { padding:12px; gap:10px; }
  .pa-inner .pa-sample-dialog-title,
  .pa-order-dialog .pa-order-header h2 { font-size:20px; line-height:1.3; }
  .pa-sample-dialog-counter,
  .pa-order-summary { font-size:16px; line-height:1.4; }
  .pa-sample-dialog-footer { padding:12px; gap:10px; }
  .pa-sample-dialog-modes { padding:8px 12px; gap:8px; }
  .pa-sample-dialog-modes button { min-height:44px; padding:9px 10px; font-size:16px; }
  .pa-sample-dialog-controls { gap:8px; }
  .pa-sample-dialog-zoom { min-height:44px; padding:10px; font-size:16px; }
  .pa-sample-dialog-order { min-height:48px; font-size:16px; }
  .pa-order-footer { padding:12px; }
  .pa-order-actions { gap:8px; }
  .pa-order-button { min-height:48px; padding:10px 8px; font-size:16px; }
  .pa-order-helper { margin-top:10px; font-size:16px; line-height:1.45; }
  .pa-order-status { font-size:16px; line-height:1.45; }
  .pa-fav-dialog-header { padding:14px 12px; gap:10px; }
  body .pa-fav-dialog .pa-fav-title { font-size:22px; line-height:1.25; }
  body .pa-fav-dialog .pa-fav-help { margin-top:6px; font-size:16px; line-height:1.4; }
  .pa-fav-dialog-body { padding:14px 12px; }
  .pa-fav-list { gap:10px; }
  .pa-fav-item { padding:10px; gap:10px; }
  body .pa-fav-dialog .pa-fav-item-title { margin-bottom:6px; font-size:17px; line-height:1.35; }
  body .pa-fav-dialog .pa-fav-description { font-size:16px; line-height:1.4; }
  body .pa-fav-dialog .pa-fav-price { margin-bottom:8px; font-size:18px; }
  .pa-fav-item-actions { gap:8px; }
  .pa-fav-dialog-footer { padding:12px; gap:8px; }
  body .pa-fav-dialog .pa-fav-button { min-height:44px; padding:10px 12px; font-size:16px; }
  .pa-fav-compare-grid { gap:10px; }
  .pa-fav-compare-details { padding:12px; }
  .pa-cart-dialog { padding:16px 12px; border-radius:18px; }
  .pa-cart-head { gap:12px; margin-bottom:16px; }
  .pa-cart-head h2 { font-size:24px; line-height:1.25; }
  .pa-cart-item { gap:12px; padding:14px 0; }
  .pa-cart-item-info a { font-size:17px; line-height:1.35; }
  .pa-cart-item-info p { margin:6px 0; font-size:16px; line-height:1.45; }
  .pa-cart-item-controls { gap:10px; }
  .pa-cart-item-controls input,
  .pa-cart-item-controls select { min-height:48px; font-size:16px; }
  .pa-cart-delivery { padding:14px; font-size:16px; }
  .pa-cart-actions { gap:8px; margin-top:14px; }
  .pa-cart-actions .pa-cart-button { min-height:48px; padding:11px 12px; font-size:16px; }
}
