/* Independent catalog favorites; original sample images and choice controls retain their geometry. */
.pa-fav-host{position:relative}
.pa-fav-home-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:6px}
.pa-fav-home-card[data-favorite-kind=business]{gap:12px}
.pa-fav-home-card>.sample-select{width:100%;height:auto;min-width:0;flex:1}
body .pa-fav-host .pa-fav-heart{position:static;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #e5ddeb;border-radius:50%;background:#fff;color:#77529c;box-shadow:0 2px 8px #4129520b;font:inherit;cursor:pointer}
body .pa-fav-host .pa-fav-heart svg,.pa-fav-toolbar svg{display:block;width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body .pa-fav-host .pa-fav-heart[aria-pressed=true]{border-color:#cab0ed;background:#f4ebff;color:#7437b7}
body .pa-fav-host .pa-fav-heart[aria-pressed=true] svg{fill:currentColor}
body .pa-fav-host .pa-fav-heart:hover{border-color:#9862c8;background:#f6effe}
body .pa-sample-card.pa-fav-host[data-sample-dimensions] .pa-fav-price-row{grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
body .pa-sample-card.pa-fav-host[data-sample-dimensions] .pa-fav-price-row>.pa-sample-price{flex:1;min-width:0;align-self:center}
body .pa-sample-card.pa-fav-host[data-sample-dimensions] .pa-fav-price-row>.pa-sample-price strong{white-space:nowrap}
body .pa-sample-card.pa-fav-host[data-sample-dimensions] .pa-fav-price-row>.pa-sample-price span{flex-basis:100%}
body .pa-sample-card.pa-fav-host[data-sample-dimensions] .pa-sample-info>.pa-fav-heart{grid-column:2;grid-row:3;align-self:center;justify-self:end}
.gallery>.pa-fav-host figcaption{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;font-size:16px}
.pa-fav-business-controls{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0}
.gallery>.pa-fav-host figcaption>.pa-fav-business-controls{margin-top:4px;padding-block:4px}
.gallery>.pa-fav-host>.sample-try{margin-top:14px}
.pa-fav-home-card>.pa-fav-business-controls{align-self:center;flex:none;width:max-content}
body .pa-fav-business-controls>.pa-fav-business-share{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:1px solid #25D366;border-radius:50%;background:#25D366;color:#fff;text-decoration:none;cursor:pointer}
.pa-fav-business-share svg{display:block;flex:none;width:24px;height:24px;fill:currentColor;stroke:none}
body .pa-fav-business-controls>.pa-fav-business-share:hover{background:#1ebe5d;border-color:#1ebe5d;color:#fff}
body .pa-fav-business-controls>.pa-fav-business-share:focus-visible{outline:3px solid #128c7e;outline-offset:3px}
.pa-fav-teacher-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;min-width:0}
.pa-fav-teacher-heading>h3{min-width:0;overflow-wrap:anywhere}
body .pa-fav-home-card>.pa-fav-heart{align-self:center}
/* The teacher catalog uses :has(button[aria-pressed]) for order selection; a favorite is independent. */
#stamp-grid>.stamp-card.pa-fav-host:has(.pa-fav-heart[aria-pressed=true]):not(:has(.stamp-select[aria-pressed=true])){border-color:#e2e4e7;box-shadow:0 3px 9px #141b2606}
.pa-fav-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 0 18px;max-width:100%}
.samples-copy>.pa-fav-toolbar{margin:18px 0 0}
body .pa-fav-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:0;margin:0;padding:10px 16px;border:1px solid #ded2ec;border-radius:12px;background:#fff;color:#69408f;font:inherit;font-size:16px;font-weight:650;line-height:1.4;text-align:center;cursor:pointer}
body .pa-fav-toolbar .pa-fav-toolbar-compare{border-color:transparent;padding-inline:3px;background:transparent;text-decoration:underline;text-underline-offset:4px}
.pa-fav-toolbar button:hover{background:#f8f3ff}
body.pa-favorites-open{overflow:hidden}
.pa-fav-dialog,.pa-fav-dialog *{box-sizing:border-box}
body .pa-fav-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);inset:0;margin:auto;padding:0;border:1px solid #e1d8ea;border-radius:24px;background:#fff;color:#2c2334;box-shadow:0 24px 100px #21102b50;overflow:hidden;font-family:inherit;line-height:1.5}
.pa-fav-dialog::backdrop{background:#21162dc4;backdrop-filter:blur(4px)}
.pa-fav-dialog-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 34px);min-width:0}
.pa-fav-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex:none;padding:22px 24px;border-bottom:1px solid #eee6f3}
.pa-fav-heading{min-width:0}
body .pa-fav-dialog .pa-fav-title{margin:0;color:#2c2334;font-size:26px;line-height:1.25;font-weight:750;letter-spacing:-.4px;overflow-wrap:anywhere}
body .pa-fav-dialog .pa-fav-help{margin:7px 0 0;color:#72637b;font-size:16px;line-height:1.5;letter-spacing:0}
body .pa-fav-dialog .pa-fav-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #e2d9ec;border-radius:50%;color:#634280;background:#fff;font:inherit;font-size:29px;line-height:1;cursor:pointer}
.pa-fav-dialog-body{flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px 24px}
body .pa-fav-dialog .pa-fav-instruction,body .pa-fav-dialog .pa-fav-comparison-note{margin:0 0 16px;color:#65576e;font-size:16px;line-height:1.5}
.pa-fav-list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}
.pa-fav-item{display:grid;grid-template-columns:150px minmax(0,1fr) 145px;gap:18px;align-items:center;min-width:0;padding:16px;border:1px solid #e9e0f0;border-radius:18px;background:#fff}
.pa-fav-picture{display:flex;align-items:center;justify-content:center;width:150px;height:145px;background:#fff;border-radius:10px;overflow:hidden;color:#765291;text-decoration:none}
.pa-fav-dialog .pa-fav-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;object-fit:contain;aspect-ratio:auto}
.pa-fav-item-details,.pa-fav-item-controls{min-width:0}
body .pa-fav-dialog .pa-fav-number{margin:0 0 5px;color:#815e9e;font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0}
body .pa-fav-dialog .pa-fav-item-title{margin:0 0 8px;font-size:20px;line-height:1.35;color:#302338;font-weight:700;letter-spacing:-.15px;overflow-wrap:anywhere;min-height:0}
body .pa-fav-dialog .pa-fav-description{margin:0 0 8px;color:#77667f;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
body .pa-fav-dialog .pa-fav-price{margin:0 0 10px;color:#392441;font-size:18px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.pa-fav-item-controls{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.pa-fav-check{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#624477;font-size:16px;font-weight:650;line-height:1.4;cursor:pointer}
.pa-fav-check input{width:20px;height:20px;min-height:20px;flex:none;margin:0;padding:0;accent-color:#7845ba}
body .pa-fav-dialog .pa-fav-remove{display:inline-flex;align-items:center;justify-content:flex-start;min-height:44px;width:auto;margin:0;padding:7px 0;border:0;border-radius:4px;background:transparent;color:#876a92;font:inherit;font-size:16px;line-height:1.5;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pa-fav-item-actions{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap}
body .pa-fav-dialog .pa-fav-link{display:inline-flex;align-items:center;min-height:44px;color:#7541a2;font-size:16px;line-height:1.4;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
body .pa-fav-dialog .pa-fav-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:0;margin:0;padding:10px 16px;border:1px solid #ddd0ec;border-radius:10px;background:#fff;color:#69408f;font:inherit;font-size:16px;font-weight:650;line-height:1.4;letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer}
body .pa-fav-dialog .pa-fav-button-primary{background:#7140b9;border-color:#7140b9;color:#fff}
body .pa-fav-dialog .pa-fav-button:disabled{background:#f0ebf5;border-color:#e8dfef;color:#95889d;cursor:default}
body .pa-fav-dialog .pa-fav-button:not(:disabled):hover{background:#f1e8fb}
body .pa-fav-dialog .pa-fav-button-primary:not(:disabled):hover{background:#60309f;color:#fff}
.pa-fav-dialog-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;flex:none;padding:16px 24px;border-top:1px solid #eee6f3;background:#fff}
body .pa-fav-dialog .pa-fav-dialog-status{flex:none;margin:0;padding:0 24px 12px;color:#65417e;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.pa-fav-dialog .pa-fav-dialog-status:empty{display:none}
.pa-fav-empty{max-width:540px;margin:auto;padding:36px 10px;text-align:center}
.pa-fav-empty>svg{width:48px;height:48px;fill:none;stroke:#ad8ac7;stroke-width:1.3;margin:0 auto 16px}
body .pa-fav-dialog .pa-fav-empty h3{margin:0 0 12px;font-size:24px;line-height:1.3;letter-spacing:-.3px}
body .pa-fav-dialog .pa-fav-empty p{margin:0 0 24px;font-size:17px;line-height:1.6;color:#7b6a83}
.pa-fav-compare-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:2px 2px 12px}
.pa-fav-compare-grid{display:grid;grid-template-columns:repeat(var(--pa-fav-columns,2),minmax(230px,1fr));gap:14px;min-width:0}
.pa-fav-compare-card{min-width:0;display:flex;flex-direction:column;border:1px solid #e4d9ec;border-radius:17px;background:#fff;overflow:hidden}
.pa-fav-compare-picture{display:flex;align-items:center;justify-content:center;height:250px;padding:16px;flex:none;border-bottom:1px solid #f1eaf6;background:#fff}
.pa-fav-compare-details{display:flex;flex-direction:column;flex:1;padding:18px;min-width:0}
.pa-fav-compare-details .pa-fav-item-actions{flex-direction:column;align-items:stretch;margin-top:auto}
.pa-fav-compare-details .pa-fav-item-actions>*{justify-content:center;text-align:center}
.pa-fav-compare-details .pa-fav-remove{align-self:center;text-align:center}
body .pa-fav-dialog .pa-fav-scroll-hint{display:none;margin:0 0 12px;color:#887394;font-size:16px;line-height:1.4}
.pa-fav-image-fallback{padding:12px;color:#8d7997;font-size:16px;text-align:center}
.pa-fav-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body .pa-fav-host .pa-fav-heart:focus-visible,.pa-fav-toolbar button:focus-visible,.pa-fav-dialog button:focus-visible,.pa-fav-dialog a:focus-visible,.pa-fav-dialog input:focus-visible,.pa-fav-compare-scroll:focus-visible{outline:3px solid #9c73d2;outline-offset:3px}
.pa-fav-dialog [hidden]{display:none!important}
@media(max-width:700px){
  .pa-fav-item{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:12px}
  .pa-fav-picture{width:100px;height:120px;align-self:start}
  .pa-fav-item-controls{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f0e9f5;padding-top:6px}
  body .pa-fav-dialog .pa-fav-item-title{font-size:18px}
  .pa-fav-item-actions{gap:4px}
  body .pa-fav-dialog .pa-fav-scroll-hint{display:block}
  .pa-fav-compare-picture{height:215px}
  .pa-fav-compare-details{padding:14px}
}
@media(max-width:480px){
  body .pa-fav-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
  .pa-fav-dialog-shell{max-height:calc(100dvh - 18px)}
  .pa-fav-dialog-header{padding:16px 14px;gap:8px}
  body .pa-fav-dialog .pa-fav-title{font-size:23px}
  .pa-fav-dialog-body{padding:16px 12px}
  .pa-fav-dialog-footer{padding:12px;justify-content:stretch;gap:8px}
  .pa-fav-dialog-footer>.pa-fav-button{flex:1 1 auto}
  .pa-fav-item{grid-template-columns:76px minmax(0,1fr);gap:10px}
  .pa-fav-picture{width:76px;height:110px}
  body .pa-fav-dialog .pa-fav-number{font-size:14px}
  body .pa-fav-dialog .pa-fav-dialog-status{padding-inline:14px}
  .pa-fav-toolbar{gap:6px 10px}
  body .pa-fav-toolbar button{padding-inline:12px;font-size:16px}
}
@media(max-width:380px){
  #samples .samples-layout>.samples-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
