/* Catalogue-only controls: independent of legacy cart and payment widgets. */
body{padding-bottom:104px!important;}
.ibz-shop-scope .p-card{position:relative;transition:box-shadow .15s,border-color .15s;}
.ibz-shop-scope .p-card.cat-selected{outline:3px solid #16834b;outline-offset:-3px;box-shadow:0 6px 22px rgba(22,131,75,.16);}
.cat-pick{position:absolute;top:10px;right:10px;z-index:3;display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #d2ded7;border-radius:9px;background:#fff;color:#163d2a;font:700 12px/1.2 system-ui;box-shadow:0 2px 8px #0002;cursor:pointer;}
.cat-pick input{width:22px;height:22px;margin:0;accent-color:#16834b;cursor:pointer;}
.ibz-shop-scope .cat-contact-actions{display:grid;grid-template-columns:1fr!important;gap:7px;}
.ibz-shop-scope .cat-contact-actions .p-btn,.ibz-shop-scope .cat-book{display:flex;align-items:center;justify-content:center;gap:6px;min-height:43px;text-decoration:none;font-weight:800;font-size:13px;line-height:1.3;border-radius:9px;}
.ibz-shop-scope .cat-call{background:#fff!important;color:#18352a!important;border:1px solid #b9cdc0!important;}
.ibz-shop-scope .cat-inquiry{background:#16834b!important;color:#fff!important;border:1px solid #16834b!important;}
.ibz-shop-scope .cat-book{margin-top:8px;width:100%;background:#172a22!important;color:#fff!important;border:1px solid #172a22;cursor:pointer;}
.ibz-shop-scope .cat-book:disabled{opacity:1;background:#e4f4ea!important;color:#14683c!important;border-color:#a5d4b9;cursor:default;}
.cat-inquiry svg{flex:0 0 18px;}
#catalogueBar{position:fixed;bottom:0;left:0;right:0;z-index:1040;background:#fff;color:#172a22;border-top:1px solid #d6e2db;box-shadow:0 -5px 24px #173a2214;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));font-family:system-ui,sans-serif;}
.cat-bar-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.cat-bar-copy strong{font-size:17px;display:block;}.cat-bar-copy small{font-size:12px;color:#617267;}
.cat-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:10px;padding:11px 20px;border:1px solid #c2d3c8;background:#fff;color:#173c28;font:700 14px/1.35 system-ui;cursor:pointer;text-decoration:none;text-align:center;}
.cat-button.primary{background:#16834b;color:#fff;border-color:#16834b;}.cat-button:disabled{opacity:.45;cursor:not-allowed;}.cat-button:focus-visible,.cat-pick:focus-within{outline:3px solid #3b82f6;outline-offset:3px;}
#catalogueDialog{border:0;border-radius:18px;padding:0;width:min(720px,calc(100% - 24px));max-height:90dvh;color:#172a22;background:#fff;box-shadow:0 24px 80px #0005;}
#catalogueDialog::backdrop{background:#071b12aa;}
.cat-dialog-head{display:flex;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid #e4ebe6;}.cat-dialog-head h2{font:800 22px/1.3 system-ui;margin:0;}.cat-dialog-head p{margin:5px 0 0;color:#65776a;font:14px/1.5 system-ui;}
.cat-close{border:0;background:#eef4f0;color:#163d2a;border-radius:50%;width:38px;height:38px;font-size:26px;cursor:pointer;flex-shrink:0;}
.cat-dialog-content{padding:18px 24px 24px;}.cat-order-list{max-height:300px;overflow:auto;margin:14px 0;}
.cat-order-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e8eee9;}.cat-order-row img{width:60px;height:64px;object-fit:contain;background:#f6f8f6;border-radius:8px;}.cat-order-row strong{font:700 14px/1.4 system-ui;overflow-wrap:anywhere;display:block;}.cat-order-row label{display:flex;align-items:center;gap:8px;font:12px system-ui;margin-top:7px;}.cat-order-row input{width:78px;border:1px solid #c7d5cc;border-radius:6px;padding:5px;}.cat-remove{border:0;color:#a12828;background:#fff;font-size:22px;cursor:pointer;min-width:36px;min-height:36px;}
.cat-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.cat-fields label{font:600 13px system-ui;}.cat-fields input,.cat-fields textarea{display:block;width:100%;border:1px solid #c4d3c9;border-radius:8px;padding:10px;margin-top:5px;font:14px system-ui;box-sizing:border-box;}.cat-fields .wide{grid-column:1/-1;}
.cat-send-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}.cat-notice{font:13px/1.5 system-ui;color:#5b6e61;margin:12px 0 0;}.cat-status{font:600 13px/1.5 system-ui;color:#17663d;white-space:pre-line;margin:12px 0;}.cat-pdf-actions{display:flex;gap:8px;flex-wrap:wrap;}.cat-pdf-actions[hidden]{display:none;}
@media(max-width:480px){.cat-pick span{display:none;}.cat-bar-copy small{display:none;}.cat-bar-copy strong{font-size:14px;}.cat-button{padding:10px 14px;}.cat-dialog-head{padding:18px 16px 14px;}.cat-dialog-content{padding:14px 16px 20px;}.cat-send-actions{grid-template-columns:1fr;}.cat-fields{grid-template-columns:1fr;}.cat-order-row{grid-template-columns:48px 1fr auto;gap:8px;}.cat-order-row img{width:48px;height:56px;}}

/* Compact corner checkbox and equal-width responsive product buttons. */
#productGrid .cat-pick{gap:0;padding:8px;min-width:38px;min-height:38px;box-sizing:border-box;justify-content:center;}
#productGrid .cat-pick span{display:none!important;}
#productGrid .cat-contact-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;min-width:0;}
#productGrid .cat-contact-actions > a.p-btn,
#productGrid .cat-book{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:44px!important;box-sizing:border-box!important;padding:10px 8px!important;margin-left:0!important;margin-right:0!important;text-align:center!important;white-space:normal!important;border-radius:9px!important;line-height:1.3!important;font-size:13px!important;}

/* A brief ring every few seconds; the button and text stay still. */
#productGrid .cat-call .cat-call-icon{display:block;flex:0 0 18px;width:18px;height:18px;transform-origin:50% 50%;animation:catalogue-phone-ring 3.6s ease-in-out infinite;}
@keyframes catalogue-phone-ring{0%,28%,100%{transform:rotate(0deg);}4%,12%,20%{transform:rotate(-14deg);}8%,16%,24%{transform:rotate(14deg);}}
@media(prefers-reduced-motion:reduce){#productGrid .cat-call .cat-call-icon{animation:none!important;}}
/* Keep send/share/download controls visible while the review list scrolls. */
#catalogueDialog[open]{display:flex;flex-direction:column;max-height:92vh;max-height:92dvh;overflow:hidden;}
#catalogueDialog .cat-dialog-head{flex:0 0 auto;}
#catalogueDialog .cat-dialog-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:16px;}
#catalogueDialog .cat-order-list{max-height:240px;}
#catalogueDialog .cat-fields textarea{min-height:70px!important;height:78px;max-height:130px;resize:vertical;}
#catalogueDialog .cat-action-dock{flex:0 0 auto;padding:14px 24px 16px;border-top:1px solid #dce8df;background:#f7faf8;}
#catalogueDialog .cat-primary-send{display:block;margin:0 0 8px;}
#catalogueDialog .cat-primary-send .cat-button{width:100%;}
#catalogueDialog .cat-pdf-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;}
#catalogueDialog .cat-pdf-actions .cat-button{min-width:0;width:100%;}
#catalogueDialog .cat-status{margin:0 0 8px;font-size:12px;line-height:1.4;max-height:65px;overflow:auto;}
#catalogueDialog .cat-status:empty{display:none;}
.cat-vendor-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;font:11px system-ui;color:#657568;}
.cat-vendor-link{background:none;border:0;padding:3px 0;color:#176b42;font:700 12px system-ui;cursor:pointer;text-decoration:underline;}
#catalogueDialog .cat-action-dock .cat-notice{font-size:11px;line-height:1.4;margin:6px 0 0;}
.cat-pdf-progress{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:10px;border:1px solid #cce3d5;border-radius:10px;background:#eaf6ef;color:#175336;}
.cat-pdf-progress[hidden]{display:none;}
.cat-pdf-progress strong{display:block;font:750 13px/1.4 system-ui;}.cat-pdf-progress span[id]{display:block;font:12px/1.4 system-ui;}
.cat-progress-spinner{width:25px;height:25px;flex:0 0 25px;border:3px solid #b5d8c3;border-top-color:#16834b;border-radius:50%;animation:cat-pdf-spin .8s linear infinite;}
.cat-pdf-ready #catalogueSharePdf,.cat-pdf-ready #catalogueDownloadPdf{border-color:#16834b;background:#e5f5ec;color:#145b36;}
@keyframes cat-pdf-spin{to{transform:rotate(360deg)}}
@media(max-width:480px){#catalogueDialog .cat-action-dock{padding:12px 16px calc(12px + env(safe-area-inset-bottom));}#catalogueDialog .cat-dialog-head h2{font-size:19px;}#catalogueDialog .cat-button{min-height:42px;padding:9px 8px;font-size:13px;}#catalogueDialog .cat-order-list{max-height:200px;}}
@media(max-height:560px){#catalogueDialog .cat-dialog-head{padding:10px 16px;}#catalogueDialog .cat-dialog-head p,#catalogueDialog .cat-action-dock .cat-notice,.cat-vendor-line{display:none;}#catalogueDialog .cat-action-dock{padding:8px 16px;}#catalogueDialog .cat-button{min-height:36px;padding:7px;}}
@media(prefers-reduced-motion:reduce){.cat-progress-spinner{animation:none;} }
