/* Coya shop: cart panel, product page extras, order confirmation. Matches the site's Inter / Playfair look. */
.coya-cart-wrap .w-commerce-commercecartopenlinkcount { min-width: 18px; }
.coya-note { margin: 4px 0 0; font-family: Inter, sans-serif; font-size: 14px; color: rgba(0,0,0,.6); }
.coya-add-error, .coya-cart-error { margin: 4px 0 0; font-family: Inter, sans-serif; font-size: 14px; color: #8b1e2d; }
.coya-add { display: flex; flex-direction: column; gap: 24px; width: 100%; }
.add-to-cart-button { cursor: pointer; }
.add-to-cart-button:hover { background-color: #000; color: #fff; }

html.coya-cart-open { overflow: hidden; }
.coya-cart { position: fixed; inset: 0; z-index: 10000; font-family: Inter, sans-serif; color: #000; }
.coya-cart[hidden] { display: none; }
.coya-cart-shade { position: absolute; inset: 0; background: rgba(0,0,0,.4); opacity: 0; transition: opacity .25s; }
.coya-cart-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100%); background: #fff; display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .25s ease; box-shadow: -10px 0 40px rgba(0,0,0,.12); }
.coya-cart.is-open .coya-cart-shade { opacity: 1; }
.coya-cart.is-open .coya-cart-panel { transform: none; }
.coya-cart-head { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid rgba(0,0,0,.12); }
.coya-cart-head h2 { margin: 0; font-family: "Playfair Display", serif; font-weight: 400; font-size: 28px; line-height: 1.1; }
.coya-cart-x { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); background: #fff; font-size: 16px; cursor: pointer; }
.coya-cart-body { flex: 1; overflow-y: auto; padding: 8px 24px; }
.coya-cart-empty { margin: 24px 0 16px; color: rgba(0,0,0,.6); }
.coya-line { display: grid; grid-template-columns: 76px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.coya-line img { width: 76px; height: 76px; object-fit: cover; border-radius: 8px; background: #f4f1ec; }
.coya-line-name { margin: 0; font-weight: 500; font-size: 15px; }
.coya-line-price { margin: 4px 0 10px; font-size: 14px; color: rgba(0,0,0,.6); }
.coya-qty { display: flex; align-items: center; gap: 10px; }
.coya-qty button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(0,0,0,.2); background: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.coya-qty span { min-width: 18px; text-align: center; font-size: 15px; }
.coya-qty .coya-remove { width: auto; height: auto; border: 0; margin-left: auto; padding: 4px 0; font-size: 13px; color: rgba(0,0,0,.55); text-decoration: underline; border-radius: 0; }
.coya-cart-foot { padding: 20px 24px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(0,0,0,.12); display: flex; flex-direction: column; gap: 14px; }
.coya-method { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.coya-method legend { padding: 0; margin-bottom: 8px; font-size: 14px; font-weight: 500; color: rgba(0,0,0,.6); }
.coya-method label { display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid rgba(0,0,0,.15); border-radius: 10px; font-size: 15px; font-weight: 400; cursor: pointer; }
.coya-method label:has(input:checked) { border-color: #000; }
.coya-method label span { margin-left: auto; color: rgba(0,0,0,.6); }
.coya-method label.is-off { opacity: .45; cursor: not-allowed; }
.coya-method input { margin: 0; accent-color: #8b1e2d; }
.coya-date { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 14px; font-weight: 500; color: rgba(0,0,0,.6); }
.coya-date select { height: 46px; padding: 0 12px; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; background: #fff; font: inherit; font-size: 16px; color: #000; }
.coya-hint { margin: -6px 0 0; font-size: 13px; color: rgba(0,0,0,.55); }
.coya-total { display: flex; justify-content: space-between; align-items: baseline; font-size: 16px; padding-top: 4px; }
.coya-total strong { font-size: 20px; font-weight: 600; }
.coya-checkout { width: 100%; border: 0; cursor: pointer; }
.coya-checkout:disabled { opacity: .6; cursor: wait; }
.coya-secure { margin: -4px 0 0; text-align: center; }

.coya-thanks { padding: 160px 24px 120px; background: #f6f2ea; }
.coya-thanks-inner { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.coya-thanks-title { margin: 0; font-family: "Playfair Display", serif; font-weight: 400; font-size: clamp(34px, 5vw, 52px); line-height: 1.1; color: #000; }
.coya-thanks-text { margin: 0; font-family: Inter, sans-serif; font-size: 17px; line-height: 1.5; color: rgba(0,0,0,.7); }
.coya-thanks-text a { color: #000; }
.coya-thanks .button { margin-top: 10px; }
@media (max-width: 479px) { .coya-thanks { padding: 120px 20px 80px; } }

/* PayPal checkout extras */
.coya-date input { height: 46px; padding: 0 12px; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; background: #fff; font: inherit; font-size: 16px; color: #000; }
.coya-notebox summary { cursor: pointer; font-size: 14px; color: rgba(0,0,0,.6); }
.coya-notebox textarea { width: 100%; margin-top: 8px; padding: 10px 12px; border: 1px solid rgba(0,0,0,.15); border-radius: 8px; font: inherit; font-size: 16px; resize: vertical; }
.coya-sums { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: rgba(0,0,0,.6); }
.coya-sums div { display: flex; justify-content: space-between; }
.coya-pay { min-height: 48px; position: relative; z-index: 0; }
.coya-thanks-num { margin: -6px 0 0; font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; letter-spacing: .04em; color: #8b1e2d; }
/* the whole panel scrolls together, so short phones never squeeze the item list */
.coya-cart-panel { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.coya-cart-body { flex: 0 0 auto; overflow: visible; }
.coya-cart-head { position: sticky; top: 0; background: #fff; z-index: 2; }
