.cpo-page{max-width:1200px;margin:32px auto;padding:0 20px}.cpo-admin,.cpo-store{--cpo-gap:20px;--cpo-line:var(--sapo-border,#D9D9D9);--cpo-bg:var(--sapo-box,#F0F4F9);--cpo-blue:var(--sapo-primary,#1C345B);box-sizing:border-box}.cpo-admin *,.cpo-store *{box-sizing:border-box}.cpo-admin h1,.cpo-admin h2,.cpo-admin h3{color:var(--cpo-blue)}.cpo-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.cpo-panel{padding:24px;border:1px solid var(--cpo-line);border-radius:12px;background:white;margin:20px 0}.cpo-dashboard .cpo-panel{margin:0}.cpo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cpo-gap);margin:18px 0;align-items:start}.cpo-grid>.cpo-wide{grid-column:1/-1}.cpo-admin .sapo-field,.cpo-store .sapo-field{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0}.cpo-admin .sapo-field-label{font-weight:600;color:var(--cpo-blue)}.cpo-admin .sapo-field input,.cpo-admin .sapo-field select,.cpo-store .sapo-field input,.cpo-store .sapo-field select{height:44px;min-height:44px;width:100%;max-width:none;line-height:1.4;margin:0;padding:9px 12px;border:1px solid var(--cpo-line);border-radius:6px}.cpo-admin .sapo-field textarea,.cpo-store .sapo-field textarea{width:100%;min-height:110px;margin:0;padding:12px;border:1px solid var(--cpo-line);border-radius:6px}.cpo-check{display:flex;align-items:flex-start;gap:10px;padding:10px 0}.cpo-check input{margin-top:4px;flex-shrink:0}.cpo-admin .sapo-admin-filters,.sapo-admin .sapo-admin-filters,.sapo .sapo-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:16px}.sapo-admin .sapo-admin-filters label{display:flex;flex-direction:column;gap:8px;min-width:0}.sapo-admin .sapo-admin-filters input,.sapo-admin .sapo-admin-filters select,.sapo-admin .sapo-admin-filters button,.sapo .sapo-filters input,.sapo .sapo-filters select,.sapo .sapo-filters button{height:44px;min-height:44px;width:100%;max-width:none;margin:0}.cpo-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0;border-bottom:1px solid var(--cpo-line)}.cpo-tabs button{border:0;padding:12px 16px;border-radius:6px;background:var(--cpo-bg);color:var(--cpo-blue);cursor:pointer}.cpo-tabs button.is-active{background:var(--cpo-blue);color:white}.cpo-admin [hidden],.cpo-store [hidden]{display:none!important}.cpo-admin .sapo-repeat{table-layout:fixed;margin:18px 0}.cpo-admin .sapo-repeat th{vertical-align:top;overflow-wrap:anywhere}.cpo-admin .sapo-repeat input{min-width:0;width:100%;min-height:38px}.cpo-admin .sapo-repeat th:last-child{width:52px}.cpo-table-scroll{overflow-x:auto;margin:20px 0}.cpo-table{width:100%;border-collapse:collapse}.cpo-table th,.cpo-table td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--cpo-line);vertical-align:top}.cpo-table th{background:var(--cpo-bg);color:var(--cpo-blue)}.cpo-table td small{display:block;margin:6px 0;line-height:1.5}.cpo-table input[type=number]{width:90px;height:42px}.cpo-totals{margin:24px 0 24px auto;max-width:480px;padding:24px;background:var(--cpo-bg);border-radius:12px}.cpo-totals>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.cpo-totals>div:last-child{border-top:1px solid var(--cpo-line);font-size:1.2em;color:var(--cpo-blue)}.cpo-product-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px;margin:24px 0}.cpo-product-intro>img{width:100%;height:320px;object-fit:contain;background:var(--cpo-bg);border-radius:12px}.cpo-store form{margin:24px 0}.cpo-payment-details{padding:24px;background:var(--cpo-bg);border-radius:12px}.cpo-qr{display:block;width:320px;max-width:100%;height:auto;object-fit:contain}.cpo-cart-link{display:flex;justify-content:flex-end;margin-bottom:20px}.cpo-inline{display:flex;align-items:end;gap:16px}.cpo-store .sapo-pension-form .sapo-student{padding:20px;margin:16px 0;border:1px solid var(--cpo-line);border-radius:8px}.cpo-store .sapo-months,.sapo .sapo-months{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.cpo-store .sapo-button:focus-visible,.cpo-tabs button:focus-visible{outline:3px solid #3867B5;outline-offset:3px}@media(max-width:700px){.cpo-grid,.cpo-product-intro{grid-template-columns:1fr}.cpo-grid>.cpo-wide{grid-column:auto}.cpo-inline{display:grid}.cpo-totals{max-width:none}.cpo-admin .sapo-repeat{display:block;overflow:auto;min-width:0}.cpo-admin .sapo-repeat input{min-width:110px}.cpo-table{min-width:520px}.cpo-page{padding:0 12px}.cpo-product-intro>img{height:240px}.sapo .sapo-filters{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.cpo-store *{animation:none!important;transition:none!important}}

/* Configurator thumbnail: scoped separately from catalogue galleries and receipt photos. */
.cpo-store .cpo-product-intro.cpo-product-detail{display:grid;grid-template-columns:minmax(0,min(var(--cpo-detail-image-width,160px),40%)) minmax(0,1fr);gap:var(--cpo-detail-image-gap,20px);align-items:start;margin:20px 0}
.cpo-product-detail .cpo-product-photo{grid-column:1;grid-row:1;min-width:0;margin:0;display:flex;justify-content:center}
.cpo-product-detail .cpo-product-summary{grid-column:2;grid-row:1;min-width:0;overflow-wrap:anywhere}
.cpo-product-detail .cpo-product-summary>h2{margin-top:0}
.cpo-product-detail .cpo-product-photo .cpo-product-thumbnail{display:block;width:var(--cpo-detail-image-width,160px);max-width:100%;height:var(--cpo-detail-image-height,160px);object-fit:var(--cpo-detail-image-fit,contain);border-radius:var(--sapo-radius,8px)}
.cpo-store .cpo-product-detail.cpo-detail-image-right{grid-template-columns:minmax(0,1fr) minmax(0,min(var(--cpo-detail-image-width,160px),40%))}
.cpo-detail-image-right .cpo-product-photo{grid-column:2}.cpo-detail-image-right .cpo-product-summary{grid-column:1}
.cpo-store .cpo-product-detail:is(.cpo-detail-image-top,.cpo-detail-image-bottom,.cpo-detail-no-image){grid-template-columns:minmax(0,1fr)}
.cpo-product-detail:is(.cpo-detail-image-top,.cpo-detail-image-bottom,.cpo-detail-no-image)>.cpo-product-summary{grid-column:1;grid-row:auto}
.cpo-product-detail:is(.cpo-detail-image-top,.cpo-detail-image-bottom)>.cpo-product-photo{grid-column:1;grid-row:auto}
.cpo-detail-image-bottom>.cpo-product-photo{order:2}.cpo-detail-image-bottom>.cpo-product-summary{order:1}
.cpo-detail-align-left .cpo-product-photo{justify-content:flex-start}.cpo-detail-align-right .cpo-product-photo{justify-content:flex-end}
@media(max-width:700px){.cpo-store .cpo-product-intro.cpo-product-detail{grid-template-columns:minmax(0,1fr)}.cpo-product-detail>.cpo-product-photo,.cpo-product-detail>.cpo-product-summary{grid-column:1;grid-row:auto}.cpo-detail-mobile-top>.cpo-product-photo{order:1}.cpo-detail-mobile-top>.cpo-product-summary{order:2}.cpo-detail-mobile-bottom>.cpo-product-photo{order:2}.cpo-detail-mobile-bottom>.cpo-product-summary{order:1}}

/* Keep optional kiosk delivery fields in the same grid as quantity and options. */
.cpo-detail-form .cpo-grid>.cpo-kiosk-fields,.cpo-detail-form .cpo-kiosk-fields>[data-cpo-plan-delivery]{display:contents}
.cpo-detail-form .cpo-kiosk-fields .sapo-field{min-width:0}
.cpo-detail-form>.cpo-grid{margin-top:0}
.cpo-detail-form .sapo-quote{overflow-wrap:anywhere}
