.affipita-box {
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    margin: 14px 0;
    border: 1px solid #e3eaf3;
    border-radius: 16px;
    background: #fff;
    color: #12243d;
    box-shadow: 0 14px 40px rgba(38, 73, 112, .10);
    font-family: inherit;
}
.affipita-box * { box-sizing: border-box; }
.affipita-box-inner { display: grid; grid-template-columns: minmax(170px, 28%) minmax(0, 1fr); min-height: 170px; }
.affipita-visual { position: relative; display: grid; place-items: center; min-width: 0; padding: 11px; background: linear-gradient(145deg, #f8fafc, #edf3f9); }
.affipita-disclosure { position: absolute; z-index: 1; top: 13px; left: 13px; display: inline-flex; align-items: center; min-height: 24px; margin: 0; padding: 4px 9px; border: 1px solid #dce7f2; border-radius: 999px; background: rgba(255,255,255,.92); color: #64748b; box-shadow: 0 4px 12px rgba(43,73,105,.08); font-size: 9px; font-weight: 700; letter-spacing: .06em; }
.affipita-image { display: block; width: 100%; height: 100%; max-height: 150px; object-fit: contain; border-radius: 9px; }
.affipita-image-placeholder { display: grid; place-items: center; width: 86px; height: 86px; border-radius: 23px; background: #fff; color: #94a3b8; box-shadow: 0 8px 28px rgba(43,73,105,.08); font-size: 36px; }
.affipita-box-content { display: flex; flex-direction: column; min-width: 0; padding: 13px 17px; }
.affipita-box .affipita-product-name { display: -webkit-box; margin: 0 0 3px; overflow: hidden; color: #12243d; font-size: 16px; font-weight: 700; line-height: 1.45; letter-spacing: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.affipita-box .affipita-lead { margin: 0 0 6px; color: #718096; font-size: 9px; line-height: 1.4; }
.affipita-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 5px; overflow: hidden; border: 1px solid #e5ebf2; border-radius: 10px; background: #f8fafc; }
.affipita-offer { display: grid; grid-template-columns: 27px minmax(0,1fr); align-items: center; gap: 0 7px; min-width: 0; padding: 6px 9px; }
.affipita-offer + .affipita-offer { border-left: 1px solid #e1e8f0; }
.affipita-shop-logo { grid-row: 1 / span 2; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; background: #fff; font-family: Arial,sans-serif; font-size: 17px; font-weight: 800; box-shadow: 0 2px 8px rgba(30,58,90,.08); }
.affipita-offer-amazon .affipita-shop-logo { color: #111827; text-decoration: underline #ff9900 3px; text-underline-offset: 3px; }
.affipita-offer-rakuten .affipita-shop-logo { color: #c82031; }
.affipita-shop-name { overflow: hidden; color: #526278; font-size: 10px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.affipita-offer strong { overflow: hidden; color: #14233a; font-size: 13px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.affipita-price-note { margin: 0 0 5px; color: #8491a3; font-size: 8px; line-height: 1.35; text-align: right; }
.affipita-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.affipita-box a.affipita-button,.affipita-button { display: inline-flex; flex: 1 1 130px; align-items: center; justify-content: center; gap: 6px; min-height: 35px; padding: 6px 11px; border: 0; border-radius: 8px; color: #fff; box-shadow: 0 5px 11px rgba(39,61,86,.12); font-size: 10px; font-weight: 800; line-height: 1.25; text-decoration: none!important; transition: filter .15s, transform .15s, box-shadow .15s; }
.affipita-box a.affipita-button:hover { filter: brightness(.96); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(39,61,86,.18); }
.affipita-box a.affipita-button:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.affipita-amazon,.affipita-box a.affipita-amazon { background: linear-gradient(135deg,#ffb12b,#f68a13); color: #fff; }
.affipita-rakuten,.affipita-box a.affipita-rakuten { background: linear-gradient(135deg,#ef4b55,#ce1f35); color: #fff; }
.affipita-price-caution { margin: 5px 0 0; color: #8a96a7; font-size: 8px; line-height: 1.3; text-align: right; }
.affipita-editor-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.affipita-editor-stats div { padding: 10px; border-radius: 6px; background: #f1f5f9; }
.affipita-editor-stats strong { display: block; font-size: 20px; }
.affipita-editor-stats small { display: block; font-size: 11px; }
.affipita-editor-hint { color: #64748b; font-size: 12px; line-height: 1.7; }
.affipita-editor-warning { padding: 10px; border-left: 3px solid #e7a830; background: #fff8e8; font-size: 12px; }
@media (max-width: 680px) {
    .affipita-box { border-radius: 16px; }
    .affipita-box-inner { grid-template-columns: 1fr; }
    .affipita-visual { min-height: 150px; padding: 14px; }
    .affipita-image { height: 150px; max-height: 150px; }
    .affipita-box-content { padding: 14px; }
    .affipita-box .affipita-product-name { font-size: 15px; }
    .affipita-comparison { grid-template-columns: 1fr; }
    .affipita-offer { grid-template-columns: 34px minmax(0,1fr) auto; padding: 11px 12px; }
    .affipita-offer + .affipita-offer { border-top: 1px solid #e1e8f0; border-left: 0; }
    .affipita-shop-logo { grid-row: auto; width: 34px; height: 34px; font-size: 22px; }
    .affipita-shop-name { font-size: 12px; }
    .affipita-offer strong { font-size: 15px; text-align: right; }
    .affipita-buttons { flex-wrap: nowrap; }
    .affipita-box a.affipita-button,.affipita-button { flex: 1 1 0; min-width: 0; min-height: 48px; padding: 8px 5px; gap: 4px; font-size: 10px; text-align: center; }
}
.affipita-editor-search-results{display:grid;gap:8px;margin-top:12px}.affipita-editor-search-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.affipita-editor-search-item img{grid-row:1 / span 2;width:52px;height:52px;border-radius:6px;object-fit:contain}.affipita-editor-search-item div{min-width:0}.affipita-editor-search-item strong{display:block;overflow:hidden;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.affipita-editor-search-item small{display:block;margin-top:3px;color:#64748b;font-size:10px}.affipita-editor-search-item .components-button{grid-column:2;justify-self:start}
.affipita-editor-empty{max-width:760px;margin:24px auto;border:1px solid #dbe4f0;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(38,73,112,.09);overflow:hidden}.affipita-editor-empty-head{display:flex;align-items:center;gap:13px;padding:20px 22px;background:linear-gradient(135deg,#eef5ff,#f8fbff)}.affipita-editor-empty-head>span{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:#2563eb;color:#fff;font-size:18px;font-weight:900;box-shadow:0 7px 17px rgba(37,99,235,.25)}.affipita-editor-empty-head strong{display:block;color:#15243d;font-size:17px}.affipita-editor-empty-head p{margin:3px 0 0;color:#65758c;font-size:12px}.affipita-editor-empty-body{padding:20px 22px}.affipita-editor-step{display:flex;align-items:center;gap:8px;margin:0 0 12px}.affipita-editor-step span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e8f0ff;color:#2563eb;font-size:11px;font-weight:800}.affipita-editor-step strong{font-size:12px}.affipita-editor-divider{display:flex;align-items:center;gap:9px;margin:15px 0;color:#8a96a8;font-size:10px}.affipita-editor-divider:before,.affipita-editor-divider:after{height:1px;flex:1;background:#e2e8f0;content:""}.affipita-editor-picker{padding:14px;border:1px solid #dbe5f2;border-radius:11px;background:#f8faff}.affipita-editor-picker-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.affipita-editor-picker-title>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#2563eb;color:#fff;font-size:19px;font-weight:800}.affipita-editor-picker-title strong{display:block;color:#1a2a43;font-size:12px}.affipita-editor-picker-title small{display:block;margin-top:2px;color:#718096;font-size:9px;line-height:1.4}.affipita-editor-picker .components-base-control{margin-bottom:10px}.affipita-editor-search-button{justify-content:center;width:100%;min-height:38px}.affipita-editor-search-summary{margin:12px 0 4px;color:#53647b;font-size:10px;font-weight:700}.affipita-editor-search-results{display:grid;gap:8px;margin-top:8px}.affipita-editor-search-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}.affipita-editor-search-item img{grid-row:1 / span 2;width:58px;height:58px;border-radius:7px;object-fit:contain}.affipita-editor-search-item div{min-width:0}.affipita-editor-search-item strong{display:-webkit-box;overflow:hidden;color:#23324a;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.affipita-editor-search-item small{display:block;margin-top:3px;color:#64748b;font-size:10px}.affipita-editor-search-item .components-button{grid-column:2;justify-self:start;min-height:30px;font-size:10px}.affipita-editor-picker .affipita-editor-hint{margin:10px 0 0;font-size:9px}.affipita-editor-picker-canvas{padding:16px}.affipita-editor-picker-canvas .affipita-editor-search-results{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:680px){.affipita-editor-empty-head,.affipita-editor-empty-body{padding:16px}.affipita-editor-picker-canvas .affipita-editor-search-results{grid-template-columns:1fr}}
.affipita-editor-mode-note{margin:-2px 0 10px;padding:9px 10px;border-left:3px solid #2563eb;border-radius:0 7px 7px 0;background:#eaf1ff;color:#405575;font-size:10px;line-height:1.6}
.affipita-offer:only-child{grid-column:1 / -1}.affipita-buttons .affipita-button:only-child{max-width:none}
.affipita-editor-search-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:9px}.affipita-editor-search-column{min-width:0}.affipita-editor-shop-heading{display:block;margin:0 0 6px;color:#263852;font-size:11px}.affipita-editor-search-item.is-selected{border-color:#2563eb;background:#eef5ff;box-shadow:0 0 0 1px #2563eb}.affipita-editor-use-pair{justify-content:center;width:100%;margin-top:11px}.affipita-editor-picker-sidebar .affipita-editor-search-grid{grid-template-columns:1fr}.affipita-editor-picker-canvas .affipita-editor-search-column .affipita-editor-search-results{grid-template-columns:1fr}
@media(max-width:680px){.affipita-editor-search-grid{grid-template-columns:1fr}}

/* Wide product picker used in the block editor. */
.affipita-editor-current-product{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:9px;border:1px solid #dfe7f1;border-radius:9px;background:#f8faff}.affipita-editor-current-product img{flex:0 0 auto;width:42px;height:42px;border-radius:7px;background:#fff;object-fit:contain}.affipita-editor-current-product span{min-width:0}.affipita-editor-current-product small,.affipita-editor-current-product strong{display:block}.affipita-editor-current-product small{margin-bottom:2px;color:#718096;font-size:9px}.affipita-editor-current-product strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.affipita-editor-open-modal,.affipita-editor-empty-open{justify-content:center;width:100%;min-height:40px}.affipita-product-modal.components-modal__frame{width:min(1180px,calc(100vw - 64px));max-width:none;height:min(860px,calc(100vh - 48px));max-height:none;border-radius:14px;box-shadow:0 24px 70px rgba(15,30,55,.28)}.affipita-product-modal .components-modal__header{height:58px;padding:0 24px;border-bottom:1px solid #e2e8f0}.affipita-product-modal .components-modal__header-heading{color:#13243d;font-size:20px;font-weight:800}.affipita-product-modal .components-modal__content{display:flex;flex-direction:column;margin-top:58px;padding:18px 24px 20px;overflow:hidden}.affipita-modal-searchbar{display:flex;flex:0 0 auto;gap:10px}.affipita-modal-searchbar input{flex:1;min-width:0;height:46px;padding:0 15px;border:1px solid #cfd9e7;border-radius:8px;color:#1d2d44;font-size:14px}.affipita-modal-searchbar input:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.16);outline:0}.affipita-modal-searchbar .components-button{justify-content:center;min-width:205px;height:46px}.affipita-modal-tabs{display:flex;flex:0 0 auto;gap:12px;margin-top:13px;border-bottom:1px solid #dfe6ef}.affipita-modal-tabs>button{position:relative;padding:11px 15px 12px;border:0;background:transparent;color:#53647b;cursor:pointer;font-size:13px;font-weight:700}.affipita-modal-tabs>button.is-active{color:#2563eb}.affipita-modal-tabs>button.is-active:after{position:absolute;right:0;bottom:-1px;left:0;height:3px;border-radius:3px 3px 0 0;background:#2563eb;content:""}.affipita-modal-tabs span{display:inline-grid;place-items:center;min-width:24px;height:20px;margin-left:5px;padding:0 6px;border-radius:10px;background:#e8effa;color:#49617e;font-size:10px}.affipita-modal-saved-panel,.affipita-modal-new-panel{display:flex;flex:1;min-height:0;flex-direction:column}.affipita-modal-saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;overflow:auto}.affipita-modal-saved-card{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:10px;min-height:80px;padding:8px;border:1px solid #dfe6ef;border-radius:9px;background:#fff;color:#1d2d44;cursor:pointer;text-align:left}.affipita-modal-saved-card:hover,.affipita-modal-saved-card.is-selected{border-color:#2563eb;background:#f4f8ff}.affipita-modal-saved-card img,.affipita-modal-saved-placeholder{display:grid;place-items:center;width:62px;height:62px;border-radius:7px;background:#f6f8fb;object-fit:contain}.affipita-modal-saved-card span{min-width:0}.affipita-modal-saved-card strong{display:-webkit-box;overflow:hidden;font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.affipita-modal-saved-card small{display:block;margin-top:5px;overflow:hidden;color:#718096;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.affipita-modal-saved-card>b{position:absolute;top:6px;right:6px;padding:3px 6px;border-radius:6px;background:#2563eb;color:#fff;font-size:8px}.affipita-modal-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding-top:12px}.affipita-modal-pagination span{color:#65758a;font-size:11px}.affipita-modal-mode{display:flex;flex:0 0 auto;align-items:flex-end;justify-content:space-between;gap:20px;padding:9px 0}.affipita-modal-mode .components-base-control{min-width:260px;margin:0}.affipita-modal-mode p{margin:0 0 7px;color:#5f6f84;font-size:11px}.affipita-modal-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;color:#526278;font-size:11px}.affipita-modal-shop-grid{display:grid;flex:1;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.affipita-modal-shop-column{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #dfe6ef;border-radius:10px;background:#fff}.affipita-modal-shop-column>header{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:8px 12px;border-bottom:1px solid #dfe6ef;background:#f8faff}.affipita-modal-shop-column>header strong{color:#182a44;font-size:14px}.affipita-modal-shop-column>header span{padding:3px 7px;border-radius:10px;background:#e8effa;color:#526781;font-size:9px}.affipita-modal-shop-results{overflow:auto}.affipita-modal-result{position:relative;display:grid;width:100%;grid-template-columns:20px 46px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:57px;padding:5px 9px;border:0;border-bottom:1px solid #edf1f6;background:#fff;color:#1d2d44;cursor:pointer;text-align:left}.affipita-modal-result:hover,.affipita-modal-result.is-selected{background:#f2f7ff}.affipita-modal-result.is-selected{box-shadow:inset 0 0 0 2px #2563eb}.affipita-modal-radio{width:17px;height:17px;border:2px solid #9aa9ba;border-radius:50%}.affipita-modal-result.is-selected .affipita-modal-radio{border:5px solid #2563eb}.affipita-modal-result img,.affipita-modal-thumb-placeholder{display:grid;place-items:center;width:46px;height:46px;border-radius:6px;background:#f6f8fb;object-fit:contain}.affipita-modal-result-copy{min-width:0}.affipita-modal-result-copy strong{display:block;overflow:hidden;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.affipita-modal-result-copy small{display:block;margin-top:3px;color:#5f7086;font-size:10px}.affipita-modal-result>b{padding:3px 6px;border-radius:6px;background:#2563eb;color:#fff;font-size:8px}.affipita-modal-empty{display:grid;flex:1;place-items:center;min-height:180px;margin:12px 0;padding:30px;border:1px dashed #cfdae8;border-radius:10px;background:#f8faff;color:#718096;font-size:12px;text-align:center}.affipita-modal-selection-footer{display:grid;flex:0 0 auto;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #dce5f1;border-radius:10px;background:#f8faff}.affipita-modal-selection-footer>strong{font-size:11px}.affipita-modal-selection-footer>.components-button{justify-content:center;min-width:210px;min-height:42px}.affipita-modal-selected-item{display:grid;min-width:0;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px}.affipita-modal-selected-item img{width:42px;height:42px;border-radius:6px;background:#fff;object-fit:contain}.affipita-modal-selected-item span{min-width:0}.affipita-modal-selected-item small,.affipita-modal-selected-item strong{display:block}.affipita-modal-selected-item small{color:#718096;font-size:8px}.affipita-modal-selected-item strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.affipita-product-modal.components-modal__frame{width:calc(100vw - 24px);height:calc(100vh - 24px)}.affipita-modal-saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.affipita-modal-selection-footer{grid-template-columns:1fr 1fr}.affipita-modal-selection-footer>strong{grid-column:1 / -1}.affipita-modal-selection-footer>.components-button{grid-column:1 / -1}}
@media(max-width:680px){.affipita-product-modal.components-modal__frame{width:100vw;height:100vh;border-radius:0}.affipita-product-modal .components-modal__content{padding:12px}.affipita-modal-searchbar{flex-direction:column}.affipita-modal-searchbar .components-button{width:100%}.affipita-modal-tabs{overflow:auto}.affipita-modal-tabs>button{white-space:nowrap}.affipita-modal-saved-grid,.affipita-modal-shop-grid{grid-template-columns:1fr}.affipita-modal-shop-grid{overflow:auto}.affipita-modal-shop-column{min-height:360px}.affipita-modal-selection-footer{position:sticky;bottom:0}.affipita-modal-selected-item{display:none}}

/* Keep the modal inside the viewport and make each retailer list independently scrollable. */
.affipita-product-modal .components-modal__content{height:calc(100% - 58px);min-height:0}.affipita-modal-new-panel{min-height:0;overflow:hidden}.affipita-modal-shop-grid{min-height:0;overflow:hidden}.affipita-modal-shop-column{height:100%;min-height:0}.affipita-modal-shop-results{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.affipita-modal-load-more.components-button{display:flex;justify-content:center;width:calc(100% - 18px);min-height:38px;margin:9px;color:#2563eb}.affipita-modal-selection-footer{position:relative;z-index:2}
@media(max-width:680px){.affipita-product-modal .components-modal__content{height:calc(100% - 58px);overflow-y:auto}.affipita-modal-new-panel{overflow:visible}.affipita-modal-shop-grid{flex:none;overflow:visible}.affipita-modal-shop-column{height:380px}.affipita-modal-selection-footer{position:sticky;bottom:0}}

/* WordPress may override the modal flex sizing. Give result lists a real viewport-based height. */
.affipita-product-modal .components-modal__content{overflow-y:auto!important;overscroll-behavior:contain}.affipita-modal-new-panel{flex:0 0 auto;overflow:visible}.affipita-modal-shop-grid{flex:0 0 auto;min-height:0;overflow:visible}.affipita-modal-shop-column{height:auto;min-height:0}.affipita-modal-shop-results{display:block!important;flex:0 0 auto!important;height:clamp(320px,52vh,560px)!important;max-height:calc(100vh - 360px)!important;overflow-x:hidden!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:stable both-edges;touch-action:pan-y}.affipita-modal-shop-results:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:-3px}.affipita-modal-selection-footer{position:sticky;bottom:0;background:#f8faff}
@media(max-height:720px) and (min-width:681px){.affipita-modal-shop-results{height:300px!important;max-height:300px!important}}
@media(max-width:680px){.affipita-modal-shop-results{height:360px!important;max-height:360px!important;overflow-y:scroll!important}}

.affipita-editor-stats strong{font-weight:700;font-variant-numeric:tabular-nums}

.affipita-editor-stats{display:block}.affipita-editor-stats>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f5}.affipita-editor-stats small{font-size:12px}.affipita-editor-stats strong{font-size:14px;font-weight:700;white-space:nowrap}

.affipita-buttons>.affipita-button:only-child,.affipita-comparison>.affipita-offer:only-child{grid-column:1 / -1}
