/* KneeCraft Custom Offers — offer card + code lookup (loaded on the offer page only) */
.kco-card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fff;border:1px solid #ECE2DB;border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -48px rgba(59,1,0,.45);font-family:Jost,sans-serif;color:#4F4441;text-align:left}
.kco-media{position:relative;min-height:520px;background:#3B0100 center/cover no-repeat}
.kco-media::after{content:"";position:absolute;inset:14px;border:1px dashed rgba(219,164,96,.45);border-radius:10px;pointer-events:none}
.kco-monogram{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(circle at 30% 20%,rgba(219,164,96,.16),rgba(219,164,96,0) 55%),#3B0100}
.kco-monogram span{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;border:1px solid rgba(219,164,96,.55);box-shadow:0 0 0 10px rgba(219,164,96,.07);font-family:Gloock,serif;font-size:40px;letter-spacing:4px;color:#DBA460}
.kco-monogram em{font-style:normal;font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:rgba(251,246,243,.75)}
.kco-code{position:absolute;left:28px;bottom:28px;z-index:1;padding:7px 14px;border-radius:100px;background:rgba(34,1,0,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(219,164,96,.4);color:#DBA460;font-size:11px;font-weight:500;letter-spacing:2.4px}
.kco-body{padding:52px 56px 48px;display:flex;flex-direction:column;gap:22px}
.kco-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:2.8px;text-transform:uppercase;color:#94652B}
.kco-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:#94652B;box-shadow:0 0 0 4px rgba(148,101,43,.16)}
.kco-title{margin:-6px 0 0 !important;font-family:Gloock,serif !important;font-size:36px !important;font-weight:400 !important;line-height:1.2 !important;letter-spacing:0 !important;text-transform:none !important;color:#3B0100 !important}
.kco-desc{font-size:16px;line-height:1.75}.kco-desc p{margin:0 0 10px}.kco-desc p:last-child{margin:0}
.kco-includes{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid #ECE2DB;display:grid;gap:12px}
.kco-includes li{position:relative;padding-left:32px;font-size:15px;line-height:1.5;color:#3B0100}
.kco-includes li::before{content:"\2713";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#FBF6F3;border:1px solid rgba(148,101,43,.45);color:#94652B;font-size:11px;display:flex;align-items:center;justify-content:center}
.kco-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:#ECE2DB;border:1px solid #ECE2DB;border-radius:12px;overflow:hidden}
.kco-meta div{background:#FBF6F3;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.kco-meta span{font-size:10.5px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#8E7F78}
.kco-meta strong{font-size:15px;font-weight:500;color:#3B0100}
.kco-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:6px}
.kco-total span{font-size:12px;font-weight:500;letter-spacing:2.6px;text-transform:uppercase;color:#4F4441}
.kco-total strong{font-family:Gloock,serif;font-size:40px;font-weight:400;line-height:1;color:#3B0100}
.kco-accept{margin:0}
.kco-accept button{width:100%;height:60px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #3B0100;border-radius:100px;background:#3B0100;color:#fff;font-family:Jost,sans-serif;font-size:12.5px;font-weight:500;letter-spacing:2.6px;text-transform:uppercase;cursor:pointer;box-shadow:0 18px 36px -18px rgba(59,1,0,.7);transition:background-color .3s ease,border-color .3s ease,transform .3s ease}
.kco-accept button:hover{background:#94652B;border-color:#94652B;transform:translateY(-1px)}
.kco-accept button span{transition:transform .3s ease}.kco-accept button:hover span{transform:translateX(4px)}
.kco-note{margin:-6px 0 0;font-size:13px;line-height:1.6;color:#8E7F78;text-align:center}
.kco-state{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:12px;background:#FBF6F3;border:1px solid #ECE2DB;border-left:3px solid #94652B}
.kco-state strong{font-family:Gloock,serif;font-size:20px;font-weight:400;color:#3B0100}
.kco-state span{font-size:15px;line-height:1.6}
.kco-is-paid .kco-state{border-left-color:#2E7D5B}
.kco-is-expired .kco-state,.kco-is-cancelled .kco-state{border-left-color:#8E7F78}
.kco-is-expired .kco-total strong,.kco-is-cancelled .kco-total strong{color:#8E7F78;text-decoration:line-through;text-decoration-thickness:1px}

/* code lookup */
.kco-lookup{max-width:640px;margin:0 auto;padding:48px 48px 44px;background:#fff;border:1px solid #ECE2DB;border-radius:18px;text-align:center;font-family:Jost,sans-serif;box-shadow:0 40px 80px -56px rgba(59,1,0,.45);display:flex;flex-direction:column;align-items:center;gap:14px}
.kco-lookup-title{margin:0 !important;font-family:Gloock,serif !important;font-size:30px !important;font-weight:400 !important;line-height:1.25 !important;text-transform:none !important;letter-spacing:0 !important;color:#3B0100 !important}
.kco-lookup-text{margin:0;font-size:15px;line-height:1.65;color:#4F4441}.kco-lookup-text strong{color:#3B0100;letter-spacing:1px}
.kco-lookup-form{display:flex;gap:10px;width:100%;margin-top:10px}
.kco-lookup-form input{flex:1;min-width:0;height:54px;border:1px solid #DCCFC6 !important;border-radius:100px !important;padding:0 24px !important;font-family:Jost,sans-serif;font-size:15px;letter-spacing:2px;text-transform:uppercase;color:#3B0100;background:#fff}
.kco-lookup-form input:focus{outline:none;border-color:#3B0100 !important;box-shadow:0 0 0 4px rgba(148,101,43,.12)}
.kco-lookup-form button{height:54px;padding:0 28px;border:0;border-radius:100px;background:#3B0100;color:#fff;font-family:Jost,sans-serif;font-size:12px;font-weight:500;letter-spacing:2.4px;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background-color .3s ease}
.kco-lookup-form button:hover{background:#94652B}

@media (max-width:1024px){
	.kco-card{grid-template-columns:1fr}
	.kco-media{min-height:300px}
	.kco-body{padding:40px 36px 36px}
}
@media (max-width:767px){
	.kco-card{border-radius:14px}
	.kco-media{min-height:230px}
	.kco-monogram span{width:88px;height:88px;font-size:30px}
	.kco-code{left:20px;bottom:20px}
	.kco-body{padding:30px 22px 26px;gap:18px}
	.kco-title{font-size:27px !important}
	.kco-total strong{font-size:32px}
	.kco-accept button{height:56px;font-size:11.5px;letter-spacing:2px}
	.kco-lookup{padding:34px 22px 28px;border-radius:14px}
	.kco-lookup-title{font-size:25px !important}
	.kco-lookup-form{flex-direction:column}
	.kco-lookup-form button{width:100%}
}

/* theme / Woo overrides */
.kco-total strong .woocommerce-Price-amount,.kco-total strong bdi,.kco-total strong .woocommerce-Price-currencySymbol{font:inherit !important;color:inherit !important;letter-spacing:0 !important}
.kco-lookup-form input[type=text]{height:54px !important;min-height:54px !important;line-height:54px !important;box-sizing:border-box}
