/* Checkout fisico CosentinoMedio: pannello indipendente dal negozio PileriCoin. */
.cm-checkout-shell[hidden] { display:none!important; }
.cm-checkout-shell { position:fixed; z-index:240; top:50%; left:50%; transform:translate(-50%,-50%); width:min(720px,92vw); max-height:92dvh; height:auto; overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(165deg,#27223e,#101223); border:3px solid #f0c46e; border-radius:16px; box-shadow:0 15px 80px #000e; padding:clamp(10px,2.1vw,22px); color:white; font-family:inherit; }
.cm-checkout-head { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#fbd48a; padding-bottom:8px; border-bottom:2px solid #fbd48a; font-size:clamp(13px,2vw,19px); }
.cm-checkout-head button { width:42px; flex:0 0 42px; padding:0; background:#b93356; color:white; border:1px solid #fbd48a; border-radius:8px; min-width:42px; height:40px; cursor:pointer; }
.cm-checkout-notice { font-size:13px; font-weight:bold; color:#d7ebff; margin:8px 0; min-height:16px; }
.cm-checkout-notice.error, .cm-checkout-warning { color:#ffe6a2; font-weight:bold; }
.cm-checkout-content { display:flex; flex-direction:column; gap:11px; }
.cm-checkout-content h3 { font-size:clamp(15px,2.8vw,21px); margin:4px 0; color:#ffdd9b; }
.cm-checkout-subhead { display:flex; justify-content:space-between; align-items:center; }
.cm-checkout-image { height:min(24vh,180px); width:100%; object-fit:contain; background:#fff; border-radius:9px; }
.cm-checkout-field { display:flex; flex-direction:column; gap:5px; min-width:0; flex:1; font-size:12px; font-weight:bold; color:#f5deaf; }
.cm-checkout-field select, .cm-checkout-field input { background:#fff; color:#141a2c; border:1px solid #f3bf65; border-radius:7px; min-height:42px; width:100%; padding:8px; font:inherit; }
.cm-checkout-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cm-checkout-form .cm-checkout-button { grid-column:1/-1; }
.cm-checkout-button { width:100%; min-height:40px; border:2px solid #efcd8a; border-radius:8px; background:#f0c66e; color:#141a2c; font-weight:900; cursor:pointer; padding:7px 10px; }
.cm-checkout-button:disabled { background:#767281; border-color:#999; color:#eee; cursor:not-allowed; }
.cm-checkout-subhead .cm-checkout-button { width:auto; min-height:32px; }
.cm-checkout-price { font-size:16px; font-weight:900; color:#ffdf8b; }
.cm-checkout-line { display:flex; justify-content:space-between; gap:10px; align-items:center; border:1px solid #b89f6c; padding:10px; border-radius:8px; }
.cm-checkout-line > div { display:flex; flex-direction:column; gap:4px; }
.cm-checkout-line small { font-size:11px; color:#f6e6c6; }
.cm-checkout-line button { width:auto; flex-shrink:0; }
.cm-checkout-totals { border-top:2px solid #efcd8a; padding-top:8px; display:grid; gap:5px; }
.cm-checkout-totals > div { display:flex; justify-content:space-between; gap:10px; }
.cm-checkout-totals > div:last-child { font-size:19px; color:#ffdd8e; }
.cm-checkout-rate { display:flex; gap:8px; align-items:center; font-size:14px; cursor:pointer; }
@media(max-height:550px) { .cm-checkout-shell { max-height:98dvh; width:96vw; padding:8px; } .cm-checkout-image { height:70px; } .cm-checkout-content { gap:6px; } .cm-checkout-field input,.cm-checkout-field select { min-height:33px; } }
@media(max-width:520px) { .cm-checkout-form { grid-template-columns:1fr; } }

.cm-checkout-backdrop[hidden] { display:none!important; }
.cm-checkout-backdrop { position:fixed; z-index:239; inset:0; background:rgba(3,3,13,.78); }
.cm-checkout-rate input { width:20px; height:20px; accent-color:#f0c66e; }

.cm-checkout-account-note { margin:0; padding:7px 10px; border:1px solid #8c7852; border-radius:8px; background:#23213a; color:#efe3c5; font-size:12px; line-height:1.35; }
.cm-checkout-loading { padding:10px; background:#25213a; border-radius:8px; font-size:13px; color:#ffdd9b; }

/* Woo checkout: photographed order lines, compact on landscape phones. */
.cm-checkout-order-items { min-width:0; display:flex; flex-direction:column; gap:6px; }
.cm-checkout-order-title { font-size:clamp(11px,1.7vw,13px); color:#f3d48f; margin:0; letter-spacing:.04em; }
.cm-checkout-order-list { display:flex; flex-direction:column; gap:7px; max-height:min(28dvh,220px); overflow-y:auto; overscroll-behavior:contain; }
.cm-checkout-order-item { min-width:0; display:grid; grid-template-columns:72px minmax(0,1fr); align-items:center; gap:10px; border:1px solid #807049; background:#2a263e; padding:6px; border-radius:9px; }
.cm-checkout-order-item.cm-checkout-order-no-image { grid-template-columns:minmax(0,1fr); }
.cm-checkout-order-image { display:block; width:72px; height:72px; object-fit:contain; background:#fff; border-radius:6px; }
.cm-checkout-order-image[hidden] { display:none!important; }
.cm-checkout-order-details { min-width:0; display:flex; flex-direction:column; gap:2px; line-height:1.2; }
.cm-checkout-order-name { font-size:clamp(11px,1.8vw,14px); overflow-wrap:anywhere; }
.cm-checkout-order-options, .cm-checkout-order-quantity { font-size:clamp(10px,1.5vw,12px); color:#eee4d5; overflow-wrap:anywhere; }
.cm-checkout-order-amount { font-size:clamp(12px,1.9vw,14px); font-weight:900; color:#f4d188; }
@media(max-height:550px) {
  .cm-checkout-order-list { max-height:min(24dvh,120px); }
  .cm-checkout-order-item { grid-template-columns:52px minmax(0,1fr); gap:7px; padding:4px; }
  .cm-checkout-order-image { width:52px; height:52px; }
  .cm-checkout-order-details { gap:1px; }
  .cm-checkout-order-title { font-size:11px; }
}
@media(max-width:460px) and (orientation:portrait) {
  .cm-checkout-order-item { grid-template-columns:58px minmax(0,1fr); }
  .cm-checkout-order-image { width:58px; height:58px; }
}
