@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap');

/* Mobile-first design: most partners and customers use phones, so type is
   large, buttons are full-width tap targets and layouts stack cleanly. */
.ccf-dash,.ccf-card,.ccf-form,.ccf-table,.ccf-stat,.ccf-notice,.ccf-tabs,.ccf-pnav{font-family:'Hind Siliguri',Arial,sans-serif;font-size:17px;line-height:1.65;color:#2b2118}
.ccf-card{background:#fff;border:1px solid #e5ddd2;border-radius:12px;padding:20px 16px;margin:12px 0}
.ccf-card h3{margin-top:0;color:#5b3213;font-size:24px;line-height:1.35}
.ccf-card h4{margin-top:0;color:#5b3213;font-size:20px;line-height:1.4}
.ccf-small{font-size:15px;color:#666}
.ccf-notice{padding:14px 16px;border-radius:10px;margin:12px 0;font-size:17px}
.ccf-notice .ccf-btn{margin-top:10px}
.ccf-ok{background:#e7f4ea;border:1px solid #9ccc9c}
.ccf-err{background:#fbeaea;border:1px solid #e0a3a3}

/* Forms: 16px+ input text prevents mobile auto-zoom and reads easily. */
.ccf-form label{display:block;margin:14px 0;font-weight:600;font-size:17px}
.ccf-form input[type=text],.ccf-form input[type=email],.ccf-form input[type=url],.ccf-form input[type=password],.ccf-form input[type=tel],.ccf-form input[type=number],.ccf-form input[type=search],.ccf-form textarea{width:100%;padding:13px;border:1px solid #c9bda9;border-radius:8px;margin-top:6px;font-size:17px;font-family:inherit;box-sizing:border-box;background:#fff}
.ccf-search{margin:4px 0 2px}
.ccf-search input[type=search]{border:2px solid #8b4a1f;border-radius:10px;padding:15px 16px;font-size:18px;background:#fdf6ec;margin-top:0}
.ccf-search input[type=search]:focus{outline:3px solid #f0d9a8;background:#fff}
.ccf-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-weight:600;font-size:17px}
.ccf-check input[type=checkbox]{width:22px;height:22px;margin-top:3px;flex:0 0 auto}

/* Buttons: big, easy to tap, full width on phones. */
.ccf-btn{display:inline-block;background:#8b4a1f;color:#fff;padding:14px 22px;border:none;border-radius:8px;cursor:pointer;text-decoration:none;font-weight:700;font-size:18px;font-family:inherit;text-align:center;min-height:52px;box-sizing:border-box}
.ccf-btn:hover{background:#6f3a16;color:#fff}
.ccf-btn-alt{background:#2e5e4e}
.ccf-btn-big{width:100%;font-size:20px;padding:16px 22px}
@media (max-width:640px){.ccf-btn{width:100%;margin:4px 0}}

/* Visitor tabs and partner menu: horizontally scrollable on phones. */
.ccf-tabs,.ccf-pnav{display:flex;gap:8px;margin:8px 0 10px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.ccf-tabs a,.ccf-pnav a{flex:0 0 auto;padding:11px 18px;border:1px solid #8b4a1f;border-radius:8px;color:#8b4a1f;text-decoration:none;font-weight:700;background:#fff;font-size:17px}
.ccf-tabs a.active,.ccf-pnav a.active{background:#8b4a1f;color:#fff}
.ccf-pnav a.ccf-logout{border-color:#b0a696;color:#6b5d4f}
/* The theme leaves a tall empty band under the page title on inner pages
   (hero bottom padding plus main content top spacing, measured ~120px on
   top of the plugin's own margins; the shop page has it too). The language
   switch is the first element of every partner page, so its negative top
   margin pulls the whole partner content up into that dead band, on the
   partner pages only. Kept smaller on phones, where the theme band is
   shorter, so the switch never overlaps the breadcrumb. */
.ccf-lang-switch{display:flex;gap:8px;justify-content:flex-end;margin:-36px 0 8px}
@media (min-width:641px){.ccf-lang-switch{margin-top:-78px}}
.ccf-lang-switch a{padding:8px 16px;border:1px solid #8b4a1f;border-radius:20px;color:#8b4a1f;text-decoration:none;font-weight:600;background:#fff;font-size:16px}
.ccf-lang-switch a.active{background:#8b4a1f;color:#fff}

/* Landing page */
.ccf-hero{text-align:center;background:#fdf6ec}
.ccf-hero h3{font-size:28px}
.ccf-hero p{font-size:18px}
.ccf-benefits{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
@media (min-width:641px){.ccf-benefits{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}
.ccf-benefit{background:#fdf6ec;border:1px solid #e5ddd2;border-radius:10px;padding:16px}
.ccf-benefit h4{margin:0 0 6px;color:#5b3213;font-size:19px}
.ccf-benefit p{margin:0;font-size:16px}
.ccf-steps{margin:8px 0 8px 20px;font-size:17px}
.ccf-steps li{margin:8px 0}
.ccf-rules{margin:6px 0 14px 20px;font-size:17px}
.ccf-rules li{margin:6px 0}
.ccf-cta-row{margin:14px 0 4px}
.ccf-cta-row .ccf-btn{margin:4px 4px 4px 0}

/* Dashboard stats: two columns on phones, flexible on desktop. */
.ccf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
@media (min-width:641px){.ccf-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
.ccf-stat{background:#fdf6ec;border:1px solid #e5ddd2;border-radius:10px;padding:14px;text-align:center}
.ccf-stat span{display:block;font-size:15px;color:#666}
.ccf-stat strong{font-size:24px;color:#5b3213}
.ccf-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:16px;display:block;overflow-x:auto;white-space:nowrap}
.ccf-table th,.ccf-table td{border:1px solid #e5ddd2;padding:10px;text-align:left}
.ccf-table th{background:#f6ecdd}
.ccf-top3-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:8px;margin:6px 0;background:#faf3e6;font-size:17px;gap:8px}
.ccf-top3-row.r1{background:#fdf0c8}
.ccf-top3-row.r2{background:#efefef}
.ccf-top3-row.r3{background:#f7e3cf}
.ccf-top3-row.me{outline:2px solid #8b4a1f;font-weight:700}
.ccf-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}
.ccf-filter label{font-weight:600;font-size:16px}
.ccf-filter input[type=date]{padding:11px;border:1px solid #ccc;border-radius:6px;display:block;margin-top:4px;font-size:16px}

/* Order page: shop-style product grid, like the website product listing. */
.ccf-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
@media (min-width:641px){.ccf-shop-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}}
.ccf-shop-item{background:#fff;border:1px solid #e5ddd2;border-radius:12px;padding:10px;text-align:center;display:flex;flex-direction:column}
.ccf-shop-item img{width:100%;height:130px;object-fit:cover;border-radius:8px;margin-bottom:8px}
@media (min-width:641px){.ccf-shop-item img{height:150px}}
.ccf-shop-name{font-weight:700;font-size:17px;line-height:1.4;color:#3a2410;flex:1}
.ccf-shop-price{color:#8b4a1f;font-weight:700;font-size:19px;margin:6px 0 10px}
.ccf-qty{display:flex;align-items:stretch;justify-content:center;gap:6px}
.ccf-qty-btn{width:44px;min-height:44px;border:1px solid #8b4a1f;background:#fdf6ec;color:#8b4a1f;border-radius:8px;font-size:22px;font-weight:700;cursor:pointer;font-family:inherit}
.ccf-qty-input{width:56px;text-align:center;padding:10px 4px;border:1px solid #c9bda9;border-radius:8px;font-size:17px;font-family:inherit}
.ccf-order-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#fdf6ec;border:1px solid #e5ddd2;border-radius:10px;padding:14px;margin-top:6px}
.ccf-order-total{font-size:19px}
.ccf-order-total strong{color:#5b3213;font-size:22px}
.ccf-summary{background:#fdf6ec;border:1px solid #e5ddd2;border-radius:10px;padding:14px;margin:0 0 14px;font-size:17px;line-height:1.7}
.ccf-product{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed #ddd}
.ccf-product input{width:80px;padding:6px}

.ccf-custom-box{border:2px dashed #b06a28;border-radius:12px;padding:14px;margin:4px 0 12px;background:#fffaf1}
.ccf-custom-box input[type=file]{padding:10px;background:#fff;border:2px solid #d9c8ae;border-radius:10px;width:100%}
