/*
 * PupHub component and utility layer.
 * Migrated from template-level inline styles so PHP templates stay clean.
 */

/* === Migrated Component Blocks === */
/* From footer.php */
.float-cart{position:fixed;bottom:90px;right:20px;width:50px;height:50px;border-radius:50%;background:var(--brown);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:9998;transition:all .3s}
.float-cart:hover{background:var(--gold);transform:scale(1.1)}
.float-cart svg{width:22px;height:22px;stroke:#fff}
.float-cart-count{position:absolute;top:-4px;right:-4px;background:#e74c3c;color:#fff;font-size:10px;font-weight:800;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fh)}

/* From front-page.php */
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
#contactForm input::placeholder,#contactForm textarea::placeholder,#contactForm select{color:rgba(255,255,255,.4)}
#contactForm input:focus,#contactForm textarea:focus,#contactForm select:focus{border-color:var(--gold)!important}
#contactBtn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,155,60,.4)}

/* From page.php */
.pay-page{min-height:80vh;padding:24px 16px}
/* Hide WooCommerce breadcrumb/stray nav */
.woocommerce-breadcrumb{display:none!important}
.pay-card > .woocommerce > nav,.pay-card > .woocommerce > header{display:none!important}
.pay-wrap{max-width:520px;margin:0 auto}
/* Header banner */
.pay-banner{background:linear-gradient(135deg,#C89B3C,#B8862D);color:#fff;border-radius:16px;padding:24px;text-align:center;margin-bottom:20px}
.pay-banner h1{font-family:'Outfit',sans-serif;font-size:1.4rem;margin-bottom:4px}
.pay-banner p{opacity:.85;font-size:.85rem;margin:0}
.pay-banner .lock-icon{font-size:2rem;margin-bottom:8px}
/* Content card */
.pay-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 15px rgba(0,0,0,.06)}
.pay-card .woocommerce{font-family:'DM Sans',sans-serif}
/* WC Table */
.pay-card table.shop_table{width:100%;border-collapse:collapse;margin-bottom:16px;border:none}
.pay-card table.shop_table th,.pay-card table.shop_table td{padding:10px 12px;text-align:left;border-bottom:1px solid #EDE4DA;font-size:.88rem}
.pay-card table.shop_table th{background:#FDF6EC;font-weight:600;color:#3B2506;border:none}
.pay-card table.shop_table td{border:none;border-bottom:1px solid #f0ebe0}
.pay-card table.shop_table tfoot .order-total td,.pay-card table.shop_table tfoot .order-total th{font-weight:700;font-size:1.05rem;color:#3B2506;border-top:2px solid #EDE4DA}
/* Payment methods */
.pay-card .wc_payment_methods,.pay-card #payment ul.payment_methods{list-style:none;padding:0;margin:0 0 16px}
.pay-card .wc_payment_methods li,.pay-card #payment ul.payment_methods li{padding:12px 14px;border:2px solid #EDE4DA;border-radius:12px;margin-bottom:8px;transition:all .2s}
.pay-card .wc_payment_methods li:hover{border-color:#C89B3C}
.pay-card .wc_payment_methods li label,.pay-card #payment ul.payment_methods li label{font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}
.pay-card .wc_payment_methods li input[type=radio]{accent-color:#C89B3C}
/* Pay button */
.pay-card .button,.pay-card button[type="submit"],.pay-card #place_order{display:block;width:100%;padding:16px;background:linear-gradient(135deg,#C89B3C,#B8862D);color:#fff;border:none;border-radius:30px;font-size:1.05rem;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;letter-spacing:.5px;transition:all .2s;box-shadow:0 4px 15px rgba(200,155,60,.3)}
.pay-card .button:hover,.pay-card button[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,155,60,.4)}
/* WC notices */
.pay-card .woocommerce-info,.pay-card .woocommerce-message{background:#f0f8e8;border-left:4px solid #C89B3C;padding:10px 14px;border-radius:0 8px 8px 0;margin-bottom:16px;font-size:.85rem}
.pay-card .woocommerce-error{background:#fdf0f0;border-left:4px solid #e74c3c;padding:10px 14px;border-radius:0 8px 8px 0;margin-bottom:16px;font-size:.85rem;list-style:none}
.pay-card .woocommerce-error li{list-style:none}
.pay-card #payment{background:none;border:none;padding:0}
.pay-card .form-row{margin-bottom:12px}
/* UPI QR Plugin Styling */
.pay-card .upiwc-payment-container,.pay-card .wc-upi-container,.pay-card .upiwc-qr-container{text-align:center;padding:10px 0}
.pay-card .upiwc-qr-code img,.pay-card .wc-upi-qr-code img,.pay-card img[src*="qr"],.pay-card img.upiwc-qr{max-width:240px!important;height:auto!important;border-radius:12px;border:3px solid #EDE4DA;padding:8px;background:#fff;margin:10px auto;display:block}
.pay-card .upiwc-upi-id,.pay-card .wc-upi-id{background:#fdfcf8;border:2px dashed #C89B3C;border-radius:10px;padding:12px;text-align:center;margin:12px 0;font-size:1rem;font-weight:700;color:#3B2506;font-family:monospace}
.pay-card .upiwc-transaction-field input,.pay-card input[name*="transaction"],.pay-card input[name*="utr"]{width:100%;padding:12px;border:2px solid #EDE4DA;border-radius:10px;font-size:.95rem;font-family:inherit;box-sizing:border-box}
.pay-card .upiwc-transaction-field input:focus,.pay-card input[name*="transaction"]:focus{outline:none;border-color:#C89B3C}
.pay-card .upiwc-instructions,.pay-card .wc-upi-instructions{font-size:.82rem;color:#8B7355;line-height:1.6;margin:12px 0}
.pay-card .upiwc-amount,.pay-card .wc-upi-amount{font-size:1.8rem;font-weight:800;color:#3B2506;font-family:'Outfit',sans-serif;text-align:center;margin:10px 0}
/* Fix any oversized icons from plugin */
.pay-card svg,.pay-card img.payment-icon{max-width:60px;max-height:60px}
/* Trust badges */
.trust-row{display:flex;justify-content:center;gap:20px;margin-top:16px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:5px;font-size:.75rem;color:#8B7355;font-weight:500}
.trust-item svg{width:16px;height:16px;stroke:#C89B3C}

/* From template-cart.php */
.cart-item { display:flex; gap:12px; align-items:center; background:var(--cream); border-radius:var(--r-lg); padding:12px; box-shadow:0 1px 4px rgba(0,0,0,.06); }
.cart-remove { width:28px; height:28px; min-width:28px; border-radius:50%; background:#fde8e8; color:#e74c3c; font-size:14px; display:flex; align-items:center; justify-content:center; text-decoration:none; font-weight:700; flex-shrink:0; transition:all .2s; }
.cart-remove:hover { background:#e74c3c; color:#fff; }
.cart-img { width:60px; height:60px; object-fit:cover; border-radius:var(--r-md); flex-shrink:0; }
.cart-info { flex:1; min-width:0; }
.cart-name { font-family:var(--fh); font-size:.75rem; color:var(--brown); display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cart-unit-price { font-size:.65rem; color:var(--text-m); margin-top:2px; }
.cart-qty { display:flex; align-items:center; gap:2px; flex-shrink:0; }
.qty-btn { width:28px; height:28px; border-radius:6px; background:var(--cream2); border:1px solid var(--border); font-size:1rem; font-weight:700; color:var(--brown); cursor:pointer; display:flex; align-items:center; justify-content:center; }
.qty-input { width:36px; padding:4px; border:1px solid var(--border); border-radius:var(--r-sm); font-size:.75rem; text-align:center; font-family:var(--fh); font-weight:700; }
.cart-line-total { font-family:var(--fh); font-weight:700; font-size:.8rem; color:var(--brown); min-width:60px; text-align:right; flex-shrink:0; }
@media(max-width:500px) {
    .cart-item { flex-wrap:wrap; padding:10px; gap:8px; }
    .cart-img { width:50px; height:50px; }
    .cart-info { flex:1; min-width:calc(100% - 70px); }
    .cart-name { font-size:.7rem; white-space:normal; }
    .cart-qty { margin-left:auto; }
    .cart-line-total { font-size:.75rem; min-width:auto; }
}

/* From template-checkout.php */
.ck-page{padding-top:0;min-height:100vh;background:var(--cream,#FDF6EC)}
.ck-hd{text-align:center;padding:35px 20px;background:linear-gradient(135deg,#3B2506,#5A3A14);color:#fff}
.ck-hd h1{font-family:'Outfit',sans-serif;font-size:1.8rem;margin:0;color:#fff}
.ck-wrap{max-width:1000px;margin:0 auto;padding:30px 15px 100px}
@media(min-width:768px){.ck-wrap{display:grid;grid-template-columns:1fr 380px;gap:30px;padding:40px}}
.ck-form{background:#fff;border-radius:20px;padding:30px;box-shadow:0 2px 15px rgba(0,0,0,.06)}
.ck-sec{margin-bottom:28px}
.ck-sec h2{font-family:var(--fh);font-size:1.15rem;color:var(--brown);margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--cream2,#F5E6CC);display:flex;align-items:center;gap:10px}
.ck-sec h2 span{width:28px;height:28px;background:var(--brown);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.ck-row{margin-bottom:16px}
.ck-row label{display:block;font-weight:500;color:var(--brown);margin-bottom:6px;font-size:.9rem}
.ck-row input,.ck-row select{width:100%;padding:13px 14px;border:2px solid #EDE4DA;border-radius:10px;font-size:.95rem;font-family:inherit;transition:border .2s;box-sizing:border-box}
.ck-row input:focus,.ck-row select:focus{outline:none;border-color:#C89B3C}
.ck-half{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:500px){.ck-half{grid-template-columns:1fr}}
/* Payment */
.pay-opt{display:flex;align-items:flex-start;gap:12px;padding:14px;border:2px solid #EDE4DA;border-radius:12px;margin-bottom:10px;cursor:pointer;transition:all .2s}
.pay-opt:hover{border-color:#C89B3C}
.pay-opt.sel{border-color:#C89B3C;background:#fdfcf8}
.pay-opt input[type=radio]{margin-top:3px;width:18px;height:18px;accent-color:#C89B3C;flex-shrink:0}
.pay-lbl strong{display:block;margin-bottom:2px;color:#3B2506}
.pay-lbl span{font-size:.82rem;color:var(--text-m)}
.cod-note{font-size:.78rem;color:#856404;background:#fff3cd;padding:4px 8px;border-radius:5px;margin-top:6px;display:inline-block}
/* Coupon */
.cpn-box{background:#fdfcf8;border:2px dashed #C89B3C;border-radius:12px;padding:16px;margin-bottom:20px}
.cpn-box h3{font-size:.95rem;margin-bottom:10px;color:#C89B3C}
.cpn-row{display:flex;gap:8px}
.cpn-row input{flex:1;min-width:0;padding:11px;border:2px solid #EDE4DA;border-radius:8px;font-size:.9rem;text-transform:uppercase}
.cpn-row button{padding:11px 16px;background:#C89B3C;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s}
.cpn-msg{margin-top:8px;padding:8px 12px;border-radius:6px;font-size:.85rem;display:none}
.cpn-msg.ok{background:#d4edda;color:#155724;display:block}
.cpn-msg.err{background:#f8d7da;color:#721c24;display:block}
/* Summary */
.ck-sum{background:#fff;border-radius:20px;padding:25px;box-shadow:0 2px 15px rgba(0,0,0,.06);height:fit-content;position:sticky;top:100px}
.ck-sum h2{font-family:var(--fh);font-size:1.2rem;margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid var(--cream2,#F5E6CC)}
.oi{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f0ebe0}
.oi img{width:50px;height:50px;border-radius:8px;object-fit:cover}
.oi-info{flex:1}.oi-name{font-weight:600;font-size:.9rem;color:#3B2506}.oi-qty{color:var(--text-m);font-size:.8rem}
.oi-price{font-weight:700;color:#C89B3C}
.tr{display:flex;justify-content:space-between;padding:8px 0;font-size:.9rem}
.tr.disc{color:#16a34a}.tr.cod-fee{color:#e67e22}
.tr.grand{font-size:1.2rem;font-weight:700;color:var(--brown);border-top:2px solid #EDE4DA;margin-top:8px;padding-top:14px}
.btn-pay{display:block;width:100%;padding:16px;background:linear-gradient(135deg,#C89B3C,#D4A843);color:#fff;border:none;border-radius:30px;font-size:1.05rem;font-weight:700;cursor:pointer;margin-top:16px;box-shadow:0 4px 15px rgba(200,155,60,.3);transition:all .2s}
.btn-pay:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,155,60,.4)}
.btn-pay:disabled{background:#ccc;cursor:not-allowed;transform:none}
.sec-badge{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;color:var(--text-m);font-size:.82rem}
/* Loading */
.ld-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;align-items:center;justify-content:center;flex-direction:column;gap:15px}
.ld-ov.on{display:flex}
.ld-sp{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.ld-tx{color:#fff;font-size:1.1rem}
@keyframes spin{to{transform:rotate(360deg)}}
.err-box{background:#ffe6e6;color:#e74c3c;padding:12px;border-radius:10px;margin-top:10px;font-size:.85rem;font-weight:600;display:none}
/* Mobile */
@media(max-width:767px){
  .ck-wrap{padding:10px 12px 140px;display:flex;flex-direction:column;gap:15px}
  .ck-sum{order:-1;position:relative;top:0;padding:15px}
  .ck-form{padding:15px!important}
  .ck-hd{padding:14px 12px}.ck-hd h1{font-size:1.1rem}
  .mob-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 15px;box-shadow:0 -4px 20px rgba(0,0,0,.1);z-index:1000;align-items:center;gap:12px;border-radius:20px 20px 0 0}
  .mob-cta .td{flex:1}.mob-cta .td small{display:block;font-size:.7rem;color:var(--text-m)}.mob-cta .td strong{font-size:1.2rem;color:var(--brown)}
  .mob-cta .btn-pay{flex:1;margin:0;padding:14px;font-size:.9rem;border-radius:12px;max-width:50%}
  .ck-sum .btn-pay{display:none}
}
@media(min-width:768px){.mob-cta{display:none}}

/* From template-course.php */
.crr-sec.open .crr-arrow{transform:rotate(180deg)}
.crr-sec.open .crr-body{max-height:2000px!important}

/* From template-order-pay.php */
.pay-page {
    min-height: 90vh;
    padding: 40px 16px 100px;
    background: #FDF6EC; /* Cream background */
}
.pay-wrap {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
/* Banner */
.pay-banner {
    background: linear-gradient(135deg, #3B2506, #5A3A14);
    color: #fff;
    border-radius: 20px;
    padding: 24px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(59, 37, 6, 0.15);
}
.pay-banner h1 {
    font-family: "Outfit", sans-serif;
    font-size: 1.6rem;
    margin: 0 0 6px;
    color: #fff;
}
.pay-banner p {
    opacity: 0.9;
    font-size: 0.9rem;
    margin: 0;
}
.pay-status-badge {
    display: inline-block;
    background: rgba(200, 155, 60, 0.2);
    color: #C89B3C;
    border: 1px solid #C89B3C;
    padding: 4px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 700;
    margin-top: 10px;
    text-transform: uppercase;
}

/* Base Card */
.pay-card {
    background: #fff;
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(59, 37, 6, 0.06);
    border: 1px solid #EDE4DA;
}
.pay-card h2 {
    font-family: "Outfit", sans-serif;
    font-size: 1.15rem;
    color: #3B2506;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid #F5E6CC;
}

/* Order Summary */
.pay-summary-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}
.pay-item-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #EDE4DA;
}
.pay-item-img {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid #EDE4DA;
}
.pay-item-info {
    flex: 1;
}
.pay-item-name {
    font-weight: 600;
    font-size: 0.9rem;
    color: #3B2506;
}
.pay-item-meta {
    font-size: 0.8rem;
    color: #8B7355;
    margin-top: 2px;
}
.pay-item-price {
    font-weight: 700;
    color: #C89B3C;
    font-size: 0.95rem;
}

/* Price Details */
.pay-totals-table {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 15px;
    background: #FDFCF8;
    border-radius: 12px;
    border: 1px solid #EDE4DA;
    margin-bottom: 24px;
}
.pay-total-row {
    display: flex;
    justify-content: space-between;
    font-size: 0.88rem;
    color: #5A4A32;
}
.pay-total-row.grand {
    font-size: 1.15rem;
    font-weight: 800;
    color: #3B2506;
    border-top: 1px solid #EDE4DA;
    padding-top: 10px;
    margin-top: 4px;
}

/* UPI QR Section */
.upi-amount {
    text-align: center;
    margin-bottom: 20px;
}
.upi-amount .label {
    font-size: 0.8rem;
    color: #8B7355;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}
.upi-amount .value {
    font-size: 2.2rem;
    font-weight: 800;
    color: #3B2506;
    font-family: "Outfit", sans-serif;
    margin-top: 4px;
}
.upi-qr {
    text-align: center;
    margin-bottom: 24px;
}
.upi-qr img {
    display: block;
    margin: 0 auto;
    width: 220px;
    height: 220px;
    border-radius: 16px;
    border: 3px solid #EDE4DA;
    padding: 8px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.04);
}
.upi-qr p {
    margin: 10px 0 0;
    font-size: 0.8rem;
    color: #8B7355;
    font-weight: 500;
}
.upi-id-box {
    background: #FDFCF8;
    border: 2px dashed #C89B3C;
    border-radius: 12px;
    padding: 14px;
    text-align: center;
    margin-bottom: 24px;
}
.upi-id-box .label {
    font-size: 0.75rem;
    color: #8B7355;
    margin-bottom: 6px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.upi-id-box .id {
    font-size: 1.15rem;
    font-weight: 700;
    color: #3B2506;
    font-family: monospace;
    letter-spacing: 0.5px;
    user-select: all;
}
.upi-id-box .copy-btn {
    display: inline-block;
    margin-top: 8px;
    padding: 6px 16px;
    background: #C89B3C;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 0.8rem;
    cursor: pointer;
    font-weight: 700;
    transition: background 0.2s;
}
.upi-id-box .copy-btn:hover {
    background: #B8862D;
}
.upi-steps {
    margin-bottom: 24px;
    background: #FDFCF8;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid #EDE4DA;
}
.upi-steps h3 {
    font-size: 0.9rem;
    color: #3B2506;
    margin: 0 0 12px;
    font-family: "Outfit", sans-serif;
}
.upi-step {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 0.82rem;
    color: #5A4A32;
    line-height: 1.4;
}
.upi-step .num {
    width: 20px;
    height: 20px;
    background: #C89B3C;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 1px;
}
.upi-confirm {
    border-top: 2px solid #EDE4DA;
    padding-top: 20px;
    margin-bottom: 10px;
}
.upi-confirm label {
    display: block;
    font-weight: 700;
    color: #3B2506;
    margin-bottom: 8px;
    font-size: 0.85rem;
}
.upi-confirm input {
    width: 100%;
    padding: 14px;
    border: 2px solid #EDE4DA;
    border-radius: 12px;
    font-size: 0.95rem;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.2s;
}
.upi-confirm input:focus {
    outline: none;
    border-color: #C89B3C;
}
.upi-confirm .note {
    font-size: 0.75rem;
    color: #8B7355;
    margin-top: 6px;
    line-height: 1.3;
}

/* Online Gateway Loader Box */
.online-loading-box {
    text-align: center;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(200, 155, 60, 0.15);
    border-top-color: #C89B3C;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
.online-loading-box h3 {
    font-family: "Outfit", sans-serif;
    font-size: 1.1rem;
    color: #3B2506;
    margin: 0;
}
.online-loading-box p {
    font-size: 0.85rem;
    color: #8B7355;
    margin: 0;
    max-width: 320px;
    line-height: 1.4;
}

/* Buttons */
.pay-btn {
    display: block;
    width: 100%;
    padding: 16px;
    background: linear-gradient(135deg, #5A9E3F, #4CAF50);
    color: #fff;
    border: none;
    border-radius: 30px;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    font-family: "Outfit", sans-serif;
    margin-top: 20px;
    box-shadow: 0 4px 15px rgba(90, 158, 63, 0.3);
    transition: all 0.2s;
    text-align: center;
    box-sizing: border-box;
    text-decoration: none;
}
.pay-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(90, 158, 63, 0.4);
}
.pay-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}
.change-method-link {
    display: block;
    text-align: center;
    margin-top: 16px;
    color: #8B7355;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    transition: color 0.2s;
}
.change-method-link:hover {
    color: #C89B3C;
    text-decoration: underline;
}

/* Trust / Security */
.trust-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 25px;
    flex-wrap: wrap;
}
.trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: #8B7355;
    font-weight: 600;
}
.trust-item svg {
    width: 16px;
    height: 16px;
    stroke: #C89B3C;
}

/* Error/Success elements */
.error-msg {
    color: #e74c3c;
    font-weight: 600;
    margin-top: 12px;
    display: none;
    text-align: center;
    font-size: 0.85rem;
    background: #ffe6e6;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #fccdcd;
}
.success-msg {
    color: #16a34a;
    font-weight: 600;
    text-align: center;
    font-size: 0.9rem;
    display: none;
    margin-top: 12px;
    background: #e6f7ed;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #ccefdc;
}

/* Overlay loader for UPI confirm */
.ld-ov {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 15px;
}
.ld-ov.on {
    display: flex;
}
.ld-sp {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(255,255,255,0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
.ld-tx {
    color: #fff;
    font-size: 1.1rem;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* From template-order-received.php */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}

/* === Template Utility Classes === */
.ds-u-ff940355fa{background:#fff;padding:60px 0;min-height:60vh;text-align:center;}
.ds-u-4294bfa983{max-width:500px;}
.ds-u-781896cf24{font-size:4rem;margin-bottom:16px;}
.ds-u-fe8d6ee10a{font-family:var(--fh);font-size:2.5rem;color:var(--brown);margin-bottom:12px;}
.ds-u-ebbf28e42b{font-family:var(--fh);font-size:1.3rem;color:var(--brown);margin-bottom:16px;}
.ds-u-e5cbca68cc{color:var(--text-m);font-size:.9rem;margin-bottom:28px;line-height:1.6;}
.ds-u-ee99d0aa16{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.ds-u-b263337502{font-size:.75rem;padding:12px 28px;}
.ds-u-efd271d033{font-size:.75rem;padding:12px 28px;background:#fff;color:var(--brown);border:2px solid var(--border);}
.ds-u-d77d82e324{background:#fff;padding:20px 0 60px;min-height:60vh;}
.ds-u-3f7efa5f4c{max-width:800px;}
.ds-u-098aac4fc8{font-size:.65rem;color:var(--text-m);margin-bottom:8px;}
.ds-u-2af27e9637{color:var(--gold);font-weight:600;}
.ds-u-d419dc2d34{font-family:var(--fh);font-size:1.6rem;color:var(--brown);margin-bottom:24px;}
.ds-u-2b1e4d1ddb{display:flex;flex-direction:column;gap:16px;}
.ds-u-1a67ab2940{background:var(--cream);border-radius:var(--r-lg);padding:20px;border:1px solid var(--border);}
.ds-u-8033093965{display:flex;gap:16px;align-items:flex-start;}
.ds-u-1ca60c1b9d{font-family:var(--fh);font-size:1.1rem;margin-bottom:6px;}
.ds-u-96b7fd8aaa{color:var(--text-m);font-size:.78rem;margin-bottom:8px;}
.ds-u-0f41c4eddd{color:var(--text);font-size:.85rem;line-height:1.6;margin-bottom:10px;}
.ds-u-1d0566d670{margin-top:24px;text-align:center;}
.ds-u-f8575af5a2{text-align:center;padding:40px 0;}
.ds-u-a5763b3b4e{font-size:3rem;margin-bottom:16px;}
.ds-u-8a93e0be1e{color:var(--brown);margin-bottom:8px;}
.ds-u-444152ef64{color:var(--text-m);font-size:.85rem;margin-bottom:20px;}
.ds-u-cbcbb7391f{display:inline-flex;font-size:.7rem;}
.ds-u-729d2fa421{color:#fff;}
.ds-u-8b63736c2a{display:none;position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#3B2506;color:#fff;padding:12px 24px;border-radius:50px;font-size:.75rem;font-family:var(--fh);font-weight:600;z-index:9999;box-shadow:0 4px 20px rgba(0,0,0,.3);}
.ds-u-0f6c73b7ce{color:#C89B3C;margin-left:8px;text-decoration:underline;}
.ds-u-a2ed472613{height:150px;}
.ds-u-c4322b0c78{color:var(--text-m);max-width:520px;margin:0 auto;}
.ds-u-3b6a3a65d8{cursor:pointer;}
.ds-u-9b08ecfe62{width:100%;padding:14px;border:none;border-radius:8px;font-size:.85rem;font-weight:700;color:#fff;background:#C89B3C;cursor:pointer;margin-top:4px;}
.ds-u-ec9728f2dc{font-size:.78rem;color:var(--text-m);margin-top:10px;}
.ds-u-74f69a993c{padding:60px 0;}
.ds-u-fdf33f2304{margin-bottom:8px;}
.ds-u-e25f468e33{color:var(--text-m);max-width:480px;margin:0 auto 28px;font-size:.88rem;}
.ds-u-7c7f628f88{max-width:500px;margin:0 auto;text-align:left;position:relative;z-index:1;}
.ds-u-d694c16c50{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.ds-u-6241e5a905{font-size:.65rem;font-weight:700;color:var(--text-m);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px;}
.ds-u-f2f0d64ed7{width:100%;padding:12px 14px;border:2px solid rgba(255,255,255,.2);border-radius:10px;font-size:.82rem;font-family:var(--fb);background:rgba(255,255,255,.08);color:#fff;box-sizing:border-box;outline:none;transition:border .2s;}
.ds-u-2b583d7389{margin-bottom:14px;}
.ds-u-c5afade931{width:100%;padding:12px 14px;border:2px solid rgba(255,255,255,.2);border-radius:10px;font-size:.82rem;font-family:var(--fb);background:rgba(255,255,255,.08);color:#fff;box-sizing:border-box;outline:none;appearance:none;cursor:pointer;}
.ds-u-7d8b880601{color:#333;}
.ds-u-905d8b3da3{margin-bottom:18px;}
.ds-u-6c581b64e5{width:100%;padding:12px 14px;border:2px solid rgba(255,255,255,.2);border-radius:10px;font-size:.82rem;font-family:var(--fb);background:rgba(255,255,255,.08);color:#fff;box-sizing:border-box;outline:none;resize:vertical;transition:border .2s;}
.ds-u-3c078ee018{width:100%;padding:16px;border:none;border-radius:12px;font-size:.88rem;font-weight:700;font-family:var(--fh);color:#fff;background:linear-gradient(135deg,var(--gold),#d4a843);cursor:pointer;transition:all .3s;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:8px;}
.ds-u-66b98f2cf0{display:none;text-align:center;padding:30px 20px;position:relative;z-index:1;}
.ds-u-7dfab665cb{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#5A9E3F,#4CAF50);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.ds-u-473c9f5f54{color:#fff;font-size:1.2rem;margin-bottom:6px;font-family:var(--fh);}
.ds-u-84f2d9da77{color:var(--text-m);font-size:.85rem;}
.ds-u-95fd837ece{display:flex;align-items:center;gap:12px;}
.ds-u-46cec891f0{margin-left:4px;}
.ds-u-c7081c5664{background:#fff;padding:80px 0;text-align:center;}
.ds-u-cd90f7a775{max-width:600px;}
.ds-u-87c136dfd0{margin-bottom:16px;}
.ds-u-08809818dd{color:#7A6B5D;font-size:.88rem;}
.ds-u-9e03797607{margin-top:20px;display:inline-flex;}
.ds-u-cb0a0497e3{text-align:center;padding:60px 24px;}
.ds-u-150f46bac6{color:#3B2506;margin-bottom:12px;}
.ds-u-04f2d41d72{display:inline-block;margin-top:16px;color:#C89B3C;font-weight:600;text-decoration:none;}
.ds-u-e39ebac6eb{color:var(--gold);}
.ds-u-5c2b59d21b{font-family:var(--fh);font-size:1.1rem;margin-bottom:8px;}
.ds-u-4152e69b32{color:var(--text-m);font-size:.85rem;line-height:1.6;margin-bottom:10px;}
.ds-u-bcaa18054c{max-width:700px;}
.ds-u-8051fc494a{font-size:.65rem;color:var(--text-m);margin-bottom:12px;}
.ds-u-a0fb4186af{font-family:var(--fh);font-size:1.8rem;color:var(--brown);margin-bottom:12px;line-height:1.3;}
.ds-u-0103ef25a7{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.ds-u-5ea6d152b0{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--brown));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;font-family:var(--fh);}
.ds-u-f48663bb52{font-weight:600;font-size:.85rem;color:var(--brown);}
.ds-u-ceb66725f5{font-size:.75rem;color:var(--text-m);}
.ds-u-eee42e79ec{font-size:.92rem;line-height:1.8;color:var(--text);}
.ds-u-8fe5b31205{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);display:flex;gap:12px;flex-wrap:wrap;}
.ds-u-456463cf50{font-size:.72rem;padding:10px 20px;background:#fff;color:var(--brown);border:2px solid var(--border);}
.ds-u-da311c26f1{font-size:.72rem;padding:10px 20px;}
.ds-u-28550ce4bd{padding-top:10px;}
.ds-u-d462248a40{margin-top:0;}
.ds-u-2fbbbcd4e0{margin-top:30px;}
.ds-u-f4d869360f{background:#fff;padding:10px 0 40px;min-height:50vh;}
.ds-u-e65e7873f9{margin-top:0;margin-bottom:16px;}
.ds-u-7a1fd8ac46{font-size:.7rem;color:var(--text-m);font-weight:400;}
.ds-u-3ddda25ee1{color:var(--brown);margin-bottom:6px;}
.ds-u-28ea90d4e0{color:var(--text-m);font-size:.75rem;margin-bottom:16px;}
.ds-u-e12feb99b2{display:flex;flex-direction:column;gap:12px;}
.ds-u-e3b6d742e5{margin-top:20px;padding:16px;background:var(--cream2);border-radius:var(--r-lg);}
.ds-u-02dd1474e3{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.ds-u-9b263964d1{font-family:var(--fh);font-weight:700;font-size:.9rem;}
.ds-u-2eba349eaa{font-family:var(--fh);font-weight:800;font-size:1.1rem;color:var(--brown);}
.ds-u-2a1ed913eb{display:flex;justify-content:center;font-size:.75rem;width:100%;}
.ds-u-71cb3b3f3a{display:block;text-align:center;margin-top:10px;font-size:.72rem;color:var(--gold);font-weight:600;}
.ds-u-a828909e66{max-width:200px;}
.ds-u-95a95e359a{color:#5A9E3F;font-weight:600;}
.ds-u-6b99de8b69{display:none;}
.ds-u-af6c9d58f4{display:flex;gap:12px;margin:12px 0 20px;}
.ds-u-65de88827a{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;border-radius:var(--r-full);font-family:var(--fp);font-weight:600;font-size:.75rem;}
.ds-u-66f4ceca1f{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#25D366;color:#fff;border-radius:var(--r-full);font-family:var(--fp);font-weight:600;font-size:.75rem;}
.ds-u-75816cae84{display:flex;}
.ds-u-660e4429d8{width:40px;height:40px;}
.ds-u-69e4613e21{margin-top:16px;padding-top:14px;border-top:1px solid #EDE4DA;}
.ds-u-4163cf52f0{color:#5A9E3F;}
.ds-u-bdfdbeb87f{display:inline-block;width:auto;padding:16px 40px;}
.ds-u-5a63e8c367{min-height:auto;padding-bottom:0;}
.ds-u-6384b6644a{padding-bottom:30px;}
.ds-u-04391f0812{max-width:520px;}
.ds-u-c1892a1d32{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:#fff;padding:5px 14px;border-radius:var(--r-full);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;}
.ds-u-d58a4505a2{font-size:clamp(1.5rem,4vw,2.2rem);}
.ds-u-de76e2e9a2{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px;}
.ds-u-4d62b404d6{font-size:.75rem;padding:12px 24px;margin:0;}
.ds-u-53855b7b72{font-size:.7rem;color:var(--text-m);background:#fff;padding:6px 12px;border-radius:var(--r-full);box-shadow:0 2px 8px rgba(0,0,0,0.05);}
.ds-u-b670e2a68f{color:#e74c3c;font-weight:800;margin-left:4px;}
.ds-u-2400c050e8{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:.65rem;color:var(--text-m);}
.ds-u-122b3a0091{display:inline-flex;align-items:center;gap:4px;}
.ds-u-22686b30d6{flex:1;max-width:640px;position:relative;margin-left:auto;}
.ds-u-5817ce9456{background:var(--cream);border-radius:var(--r-xl);padding:16px;box-shadow:var(--s-card);}
.ds-u-aab7a12f29{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;background:#1a1a1a;display:flex;align-items:center;justify-content:center;}
.ds-u-618aa5981b{width:100%;height:100%;object-fit:cover;}
.ds-u-39f766df28{display:flex;gap:8px;margin-top:10px;justify-content:center;flex-wrap:wrap;}
.ds-u-8d4edd1fb0{background:var(--gold);color:#fff;padding:8px 16px;border-radius:var(--r-full);font-size:.65rem;font-weight:700;}
.ds-u-3db16cc70a{background:var(--brown);color:#fff;padding:8px 16px;border-radius:var(--r-full);font-size:.65rem;font-weight:700;}
.ds-u-66beb193e6{height:80px;}
.ds-u-37aebf805b{background:var(--bg);padding:20px 0 60px;}
.ds-u-1d34c0943e{max-width:900px;}
.ds-u-f0a0fcc050{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 20px 40px rgba(59,37,6,0.08);display:flex;flex-wrap:wrap;border:1px solid rgba(0,0,0,0.05);}
.ds-u-2e525b2632{flex:1;min-width:320px;padding:40px;display:flex;flex-direction:column;justify-content:center;}
.ds-u-cb162c70ad{display:inline-flex;align-items:center;gap:6px;background:rgba(231,76,60,0.1);color:#e74c3c;padding:6px 14px;border-radius:var(--r-full);font-size:.65rem;font-weight:800;text-transform:uppercase;margin-bottom:16px;align-self:flex-start;}
.ds-u-6bc02c7800{font-size:clamp(1.8rem, 3vw, 2.2rem);line-height:1.1;margin-bottom:12px;color:var(--brown);}
.ds-u-5c6cc6fd44{color:var(--text-m);font-size:0.95rem;margin-bottom:24px;max-width:400px;}
.ds-u-1a6896d5fd{list-style:none;padding:0;margin:0;font-size:.9rem;color:var(--text);display:flex;flex-direction:column;gap:12px;}
.ds-u-bae250a2b1{display:flex;align-items:flex-start;gap:12px;}
.ds-u-c0c9e740ce{width:20px;height:20px;border-radius:50%;background:#EBF5E4;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.ds-u-eed0f8fb89{font-weight:600;}
.ds-u-9be2134ade{flex:1;min-width:320px;background:var(--cream);padding:40px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(0,0,0,0.04);}
.ds-u-2cc2f63397{text-align:center;margin-bottom:24px;}
.ds-u-37df0ff091{display:block;font-size:0.8rem;color:var(--text-m);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
.ds-u-d756639fa4{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px;}
.ds-u-b0dd36046e{font-size:3.5rem;font-family:var(--fh);font-weight:900;color:var(--brown);line-height:1;}
.ds-u-6b74391527{display:flex;align-items:center;justify-content:center;gap:8px;}
.ds-u-790b6d3151{font-size:1.1rem;color:var(--text-l);text-decoration:line-through;font-weight:600;}
.ds-u-41d7d909f2{background:#e74c3c;color:#fff;padding:4px 8px;border-radius:4px;font-size:0.7rem;font-weight:800;}
.ds-u-c88525709d{width:100%;justify-content:center;padding:16px;font-size:0.9rem;box-shadow:0 8px 20px rgba(200,155,60,0.3);margin-bottom:16px;}
.ds-u-91a87015f4{text-align:center;}
.ds-u-c5b5190d9a{font-size:.7rem;color:var(--text-m);margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:6px;}
.ds-u-5a9772b696{font-size:.65rem;color:var(--text-l);margin:0;}
.ds-u-9096da6317{background:#fff;padding:30px 0;}
.ds-u-4e420aff3f{margin-bottom:6px;}
.ds-u-de4797142f{color:var(--text-m);font-size:.75rem;max-width:500px;margin:0 auto 20px;}
.ds-u-cbc2d6a6fc{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.ds-u-28d14405cf{background:var(--cream);padding:30px 0;}
.ds-u-cd0ed100cf{color:var(--text-m);font-size:.75rem;margin-bottom:20px;}
.ds-u-418a467c9b{background:#fff;border-radius:var(--r-lg);padding:14px 18px;margin-bottom:10px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.ds-u-dfc172be99{display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.ds-u-b87ca3241d{display:flex;align-items:center;gap:10px;}
.ds-u-b9810ab614{background:var(--gold);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:800;flex-shrink:0;}
.ds-u-d455f5084f{font-family:var(--fh);font-size:.78rem;color:var(--brown);}
.ds-u-7e42ab5640{font-size:.58rem;color:var(--text-m);display:block;}
.ds-u-019a3b3331{transition:transform .3s;}
.ds-u-47db712cd5{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.ds-u-5d7076eeeb{padding-top:10px;border-top:1px solid var(--border);margin-top:10px;}
.ds-u-17d90bbf85{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(0,0,0,.04);}
.ds-u-7ae9523af2{flex:1;font-size:.68rem;color:var(--text);}
.ds-u-0baaab5679{font-size:.58rem;color:var(--text-m);font-weight:600;}
.ds-u-4cbcba18ea{background:linear-gradient(135deg,var(--hero-bg),var(--cream));border-radius:var(--r-xl);padding:28px 24px;box-shadow:var(--s-card);margin-top:16px;position:relative;overflow:hidden;}
.ds-u-78a14e21e2{position:absolute;top:14px;right:-30px;background:#e74c3c;color:#fff;font-size:.55rem;font-weight:800;padding:4px 40px;transform:rotate(45deg);letter-spacing:1px;}
.ds-u-73450fda0e{font-size:.65rem;color:var(--text-m);text-transform:uppercase;letter-spacing:2px;font-weight:700;}
.ds-u-d60550f657{margin:12px 0;}
.ds-u-7fcc4b04ab{font-family:var(--fh);font-size:2.2rem;font-weight:900;color:var(--brown);}
.ds-u-6f050f72e9{font-size:.85rem;color:var(--text-m);text-decoration:line-through;margin-left:6px;}
.ds-u-230f3c0f07{text-align:left;list-style:none;padding:0;margin:16px auto;max-width:320px;font-size:.7rem;color:var(--text);}
.ds-u-a23198a90b{padding:6px 0;display:flex;gap:8px;align-items:center;}
.ds-u-a3b10f6d5c{width:100%;justify-content:center;font-size:.75rem;padding:14px;}
.ds-u-05f552b76e{font-size:.55rem;color:var(--text-m);margin-top:10px;}
.ds-u-b1eb25c400{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:20px;max-width:700px;margin-left:auto;margin-right:auto;}
.ds-u-8cda45bda6{text-align:center;padding:20px 14px;}
.ds-u-9f1a4de957{width:44px;height:44px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-family:var(--fh);font-weight:900;font-size:.9rem;}
.ds-u-bb99d81a75{font-size:.75rem;color:var(--brown);display:block;margin-bottom:4px;}
.ds-u-b68cc6540d{font-size:.65rem;color:var(--text-m);}
.ds-u-49f14f8f83{margin-bottom:20px;}
.ds-u-b35ab32373{background:var(--cream);border-radius:var(--r-lg);padding:14px 18px;margin-bottom:8px;}
.ds-u-5b350a93e4{font-size:.72rem;color:var(--brown);flex:1;}
.ds-u-ca28b08c0d{transition:transform .3s;flex-shrink:0;}
.ds-u-220f46e2df{font-size:.68rem;color:var(--text-m);padding-top:8px;margin:0;}
.ds-u-24339c59c3{display:inline-flex;background:#fff;color:var(--brown);font-size:.7rem;margin-top:8px;}
.ds-u-ccde26c3e9{color: #16a34a;}
.ds-u-12440507e6{color: #5A9E3F;}
.ds-u-f2892a2e8a{display: none;}
.ds-u-b62ee557f8{margin-top: 15px;}
.ds-u-b5c6d5d488{color:#e74c3c;font-weight:600;text-align:center;}
.ds-u-d0d8812ba3{color:var(--brown);}
.ds-u-31f6fc6a80{color:var(--text-m);margin-bottom:20px;}
.ds-u-60e32dcb44{display:inline-block;}
.ds-u-56f4356299{margin-top:12px;}
.ds-u-a5e9ad9e28{background:#fff3cd;border:1px solid #ffc107;border-radius:12px;padding:16px;margin-top:16px;}
.ds-u-ec69b1e7aa{color:#856404;}
.ds-u-35033874fd{margin:8px 0 0;font-size:.85rem;color:#856404;}
.ds-u-a91c2bbf1b{background:#d4edda;border-radius:12px;padding:16px;margin-top:16px;text-align:center;}
.ds-u-0c8c9ee21b{font-size:.9rem;color:#155724;}
.ds-u-1e3e49d93e{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(5px);z-index:9999;align-items:center;justify-content:center;padding:16px;animation:fadeIn .3s;}
.ds-u-c6c8d5cc37{background:#fff;border-radius:20px;max-width:420px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease;}
.ds-u-3647cc9161{background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#fff;padding:24px;border-radius:20px 20px 0 0;text-align:center;position:relative;}
.ds-u-852fab347a{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.2);border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;}
.ds-u-49e8dc07bf{font-size:1.4rem;margin-bottom:6px;color:#fff;}
.ds-u-3a43234216{opacity:.9;font-size:.85rem;margin:0;color:rgba(255,255,255,.85);}
.ds-u-ddaf9ee36a{padding:24px;}
.ds-u-5bcc79d3ea{display:block;font-weight:600;font-size:.82rem;color:var(--brown);margin-bottom:5px;}
.ds-u-d4c6ffddb8{width:100%;padding:12px 14px;border:2px solid var(--border);border-radius:10px;font-size:16px;font-family:inherit;box-sizing:border-box;}
.ds-u-3639182467{border-top:1px solid var(--border);margin:16px 0 14px;padding-top:14px;}
.ds-u-822026d56a{width:100%;padding:14px;background:var(--gold);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;font-family:var(--fh);}
.ds-u-501fbb0d53{width:100%;padding:12px;background:none;border:none;color:var(--text-m);font-size:.88rem;cursor:pointer;margin-top:8px;}
.ds-u-41e7fd5f3e{background:#f8d7da;color:#721c24;padding:10px;border-radius:8px;margin-bottom:12px;text-align:center;}
.ds-u-0872fb5a0f{background:#d4edda;color:#155724;padding:10px;border-radius:8px;margin-bottom:12px;text-align:center;}
.ds-u-546025cd98{background:#f8d7da;color:#721c24;padding:10px;border-radius:8px;margin-bottom:12px;}
.ds-u-20034f0c17{padding:10px 0 10px;background:#fff;}
.ds-u-88802cac23{max-width:960px;}
.ds-u-a910a5cf2c{font-size:.65rem;color:var(--text-m);margin-bottom:6px;}
.ds-u-101860af8c{font-size:1.2rem;}
.ds-u-f63b87b3fb{margin:16px 0;}
.ds-u-41e2a371b1{font-family:var(--fh);font-weight:700;font-size:.75rem;color:var(--brown);display:block;margin-bottom:8px;}
.ds-u-ab6fd1c0de{display:flex;gap:8px;margin-top:12px;}
.ds-u-3cce2efadb{flex:1;text-align:center;}
.ds-u-0a6159c3e6{flex:1;background:var(--gold);text-align:center;white-space:nowrap;}
.ds-u-5109f493ef{padding:12px 0 20px;}
.ds-u-24afafcbb8{width:100%;border-radius:10px;}
.ds-u-1f8121365b{background:#fff;padding:10px 0 40px;}

/* === Blog and Content Components === */
.breadcrumb-link{color:var(--gold);font-weight:600}
.post-list-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--r-md);flex-shrink:0}
.post-title-link{color:var(--brown);text-decoration:none}
.post-title-link:hover{color:var(--gold)}
.post-read-link{color:var(--gold);font-size:.8rem;font-weight:600}
.single-featured-image{width:100%;height:auto;border-radius:var(--r-lg);margin-bottom:20px;object-fit:cover;max-height:400px}

/* === Course Access Buttons === */
.course-access-btn{background:var(--brown);border-color:var(--brown);color:var(--white);white-space:nowrap}
.course-access-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}
.course-login-cta{background:#fff;color:var(--brown);border:1.5px solid var(--border)}
.course-login-cta:hover{background:var(--brown);color:#fff;border-color:var(--brown)}
.course-member-link{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;font-size:.78rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.5px}

/* === Dynamic State Utilities === */
.is-hidden{display:none}
.progress-pct-0{width:0%}
.progress-pct-1{width:1%}
.progress-pct-2{width:2%}
.progress-pct-3{width:3%}
.progress-pct-4{width:4%}
.progress-pct-5{width:5%}
.progress-pct-6{width:6%}
.progress-pct-7{width:7%}
.progress-pct-8{width:8%}
.progress-pct-9{width:9%}
.progress-pct-10{width:10%}
.progress-pct-11{width:11%}
.progress-pct-12{width:12%}
.progress-pct-13{width:13%}
.progress-pct-14{width:14%}
.progress-pct-15{width:15%}
.progress-pct-16{width:16%}
.progress-pct-17{width:17%}
.progress-pct-18{width:18%}
.progress-pct-19{width:19%}
.progress-pct-20{width:20%}
.progress-pct-21{width:21%}
.progress-pct-22{width:22%}
.progress-pct-23{width:23%}
.progress-pct-24{width:24%}
.progress-pct-25{width:25%}
.progress-pct-26{width:26%}
.progress-pct-27{width:27%}
.progress-pct-28{width:28%}
.progress-pct-29{width:29%}
.progress-pct-30{width:30%}
.progress-pct-31{width:31%}
.progress-pct-32{width:32%}
.progress-pct-33{width:33%}
.progress-pct-34{width:34%}
.progress-pct-35{width:35%}
.progress-pct-36{width:36%}
.progress-pct-37{width:37%}
.progress-pct-38{width:38%}
.progress-pct-39{width:39%}
.progress-pct-40{width:40%}
.progress-pct-41{width:41%}
.progress-pct-42{width:42%}
.progress-pct-43{width:43%}
.progress-pct-44{width:44%}
.progress-pct-45{width:45%}
.progress-pct-46{width:46%}
.progress-pct-47{width:47%}
.progress-pct-48{width:48%}
.progress-pct-49{width:49%}
.progress-pct-50{width:50%}
.progress-pct-51{width:51%}
.progress-pct-52{width:52%}
.progress-pct-53{width:53%}
.progress-pct-54{width:54%}
.progress-pct-55{width:55%}
.progress-pct-56{width:56%}
.progress-pct-57{width:57%}
.progress-pct-58{width:58%}
.progress-pct-59{width:59%}
.progress-pct-60{width:60%}
.progress-pct-61{width:61%}
.progress-pct-62{width:62%}
.progress-pct-63{width:63%}
.progress-pct-64{width:64%}
.progress-pct-65{width:65%}
.progress-pct-66{width:66%}
.progress-pct-67{width:67%}
.progress-pct-68{width:68%}
.progress-pct-69{width:69%}
.progress-pct-70{width:70%}
.progress-pct-71{width:71%}
.progress-pct-72{width:72%}
.progress-pct-73{width:73%}
.progress-pct-74{width:74%}
.progress-pct-75{width:75%}
.progress-pct-76{width:76%}
.progress-pct-77{width:77%}
.progress-pct-78{width:78%}
.progress-pct-79{width:79%}
.progress-pct-80{width:80%}
.progress-pct-81{width:81%}
.progress-pct-82{width:82%}
.progress-pct-83{width:83%}
.progress-pct-84{width:84%}
.progress-pct-85{width:85%}
.progress-pct-86{width:86%}
.progress-pct-87{width:87%}
.progress-pct-88{width:88%}
.progress-pct-89{width:89%}
.progress-pct-90{width:90%}
.progress-pct-91{width:91%}
.progress-pct-92{width:92%}
.progress-pct-93{width:93%}
.progress-pct-94{width:94%}
.progress-pct-95{width:95%}
.progress-pct-96{width:96%}
.progress-pct-97{width:97%}
.progress-pct-98{width:98%}
.progress-pct-99{width:99%}
.progress-pct-100{width:100%}
