.cgmcare-products-shortcode{font-family:var(--cgm-sc-font);color:var(--cgm-sc-text);width:100%;box-sizing:border-box}.cgmcare-products-shortcode *{box-sizing:border-box}.cgmcare-products-head{text-align:center;margin:0 0 28px}.cgmcare-products-head h2{margin:0 0 8px;font-family:var(--cgm-sc-font);font-size:clamp(28px,3vw,42px);font-weight:900;line-height:1.12;color:var(--cgm-sc-text)}.cgmcare-products-head p{margin:0 auto;max-width:720px;color:var(--cgm-sc-muted);font-size:15px;line-height:1.7}.cgmcare-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cgm-sc-gap)}.cgmcare-products-cols-1 .cgmcare-products-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.cgmcare-products-cols-2 .cgmcare-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cgmcare-products-cols-3 .cgmcare-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cgmcare-products-cols-4 .cgmcare-products-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cgmcare-products-cols-5 .cgmcare-products-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cgmcare-products-cols-6 .cgmcare-products-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.cgmcare-sc-product-card{position:relative;display:flex;flex-direction:column;background:var(--cgm-sc-card-bg);border:1px solid var(--cgm-sc-border);border-radius:var(--cgm-sc-radius);box-shadow:var(--cgm-sc-shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.cgmcare-sc-product-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(15,23,42,.14)}.cgmcare-sc-badge{position:absolute;top:12px;left:12px;z-index:3;background:var(--cgm-sc-badge-bg);color:var(--cgm-sc-badge-text);border-radius:999px;padding:6px 10px;font-size:10px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.02em}.cgmcare-sc-wishlist{position:absolute;top:12px;right:12px;z-index:4;width:34px;height:34px;border-radius:50%;border:1px solid var(--cgm-sc-border);background:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(15,23,42,.08);cursor:pointer;transition:.2s ease}.cgmcare-sc-wishlist:hover,.cgmcare-sc-wishlist.is-active{color:#e11d48;transform:scale(1.06)}.cgmcare-sc-image-wrap{position:relative;display:block;height:var(--cgm-sc-img-height);background:#f8fafc;overflow:hidden;border-radius:var(--cgm-sc-img-radius) var(--cgm-sc-img-radius) 0 0}.cgmcare-sc-img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;opacity:0;transition:opacity .35s ease,transform .4s ease}.cgmcare-sc-img.is-active,.cgmcare-sc-img:first-child{opacity:1}.cgmcare-sc-product-card:hover .cgmcare-sc-img.is-active{transform:scale(1.045)}.cgmcare-sc-card-body{padding:var(--cgm-sc-padding);display:flex;flex-direction:column;gap:8px;flex:1}.cgmcare-sc-brand{font-size:10px;font-weight:800;color:var(--cgm-sc-muted);text-transform:uppercase;letter-spacing:.04em}.cgmcare-sc-title{font-family:var(--cgm-sc-font);font-size:var(--cgm-sc-title-size);font-weight:var(--cgm-sc-title-weight);line-height:1.25;margin:0;min-height:38px}.cgmcare-sc-title a{color:var(--cgm-sc-text);text-decoration:none}.cgmcare-sc-title a:hover{color:var(--cgm-sc-btn)}.cgmcare-sc-rating{font-size:var(--cgm-sc-body-size);font-weight:700;color:var(--cgm-sc-text);display:flex;gap:4px;align-items:center}.cgmcare-sc-rating span{color:var(--cgm-sc-rating)}.cgmcare-sc-rating small{font-weight:500;color:var(--cgm-sc-muted)}.cgmcare-sc-mini-badges{display:flex;gap:6px;flex-wrap:wrap;min-height:20px}.cgmcare-sc-mini-badges span{display:inline-flex;align-items:center;gap:3px;background:#DCFCE7;color:#087D3E;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;line-height:1}.cgmcare-sc-mini-badges span+span{background:#DBEAFE;color:#1E40AF}.cgmcare-sc-price{font-size:22px;font-weight:900;color:var(--cgm-sc-price);margin-top:auto}.cgmcare-sc-price del{display:block;color:var(--cgm-sc-regular);font-size:12px;font-weight:600;opacity:.8}.cgmcare-sc-price ins{text-decoration:none;color:var(--cgm-sc-sale)}.cgmcare-sc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.cgmcare-sc-btn,.cgmcare-sc-insurance{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border-radius:12px;border:1px solid var(--cgm-sc-border);font-size:var(--cgm-sc-button-size);font-weight:var(--cgm-sc-button-weight);text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.cgmcare-sc-view{background:var(--cgm-sc-view-bg);color:var(--cgm-sc-view-text)}.cgmcare-sc-add{background:var(--cgm-sc-btn);color:var(--cgm-sc-btn-text)!important;border-color:var(--cgm-sc-btn)}.cgmcare-sc-add:hover{background:var(--cgm-sc-btn-hover);color:var(--cgm-sc-btn-hover-text)!important;transform:translateY(-1px)}.cgmcare-sc-insurance{width:100%;margin-top:8px;background:linear-gradient(135deg,#ECFDF5,#F0FDF4);color:#087D3E;border-color:#86EFAC;box-shadow:0 5px 14px rgba(34,197,94,.10)}.cgmcare-sc-insurance:hover{background:linear-gradient(135deg,#D1FAE5,#DCFCE7);transform:translateY(-1px)}.cgmcare-products-view-all{text-align:center;margin-top:32px}.cgmcare-products-view-all a{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#111827;border:1px solid var(--cgm-sc-border);border-radius:14px;padding:12px 28px;font-weight:800;text-decoration:none;box-shadow:0 8px 22px rgba(15,23,42,.08);transition:.22s ease}.cgmcare-products-view-all a:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.12)}.cgmcare-products-empty{grid-column:1/-1;text-align:center;color:var(--cgm-sc-muted);padding:30px}@media(max-width:1100px){.cgmcare-products-grid,.cgmcare-products-cols-4 .cgmcare-products-grid,.cgmcare-products-cols-5 .cgmcare-products-grid,.cgmcare-products-cols-6 .cgmcare-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.cgmcare-products-grid,.cgmcare-products-cols-3 .cgmcare-products-grid,.cgmcare-products-cols-4 .cgmcare-products-grid,.cgmcare-products-cols-5 .cgmcare-products-grid,.cgmcare-products-cols-6 .cgmcare-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cgmcare-products-grid,.cgmcare-products-cols-2 .cgmcare-products-grid,.cgmcare-products-cols-3 .cgmcare-products-grid,.cgmcare-products-cols-4 .cgmcare-products-grid,.cgmcare-products-cols-5 .cgmcare-products-grid,.cgmcare-products-cols-6 .cgmcare-products-grid{grid-template-columns:1fr}.cgmcare-sc-image-wrap{height:220px}.cgmcare-sc-title{min-height:0}}

/* Shortcode purchase and coverage modals */
.cgmcare-products-shortcode .cgmcare-purchase-modal,.cgmcare-products-shortcode .cgmcare-shop-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:22px;font-family:var(--cgm-sc-font)}
.cgmcare-products-shortcode .cgmcare-purchase-modal.is-open,.cgmcare-products-shortcode .cgmcare-shop-modal.is-open{display:flex}.cgmcare-products-shortcode .cgmcare-purchase-backdrop,.cgmcare-products-shortcode .cgmcare-shop-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(5px)}
.cgmcare-products-shortcode .cgmcare-purchase-dialog,.cgmcare-products-shortcode .cgmcare-shop-modal-dialog{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:var(--cgm-purchase-card-bg,#fff);border:1px solid var(--cgm-purchase-border,#e5e7eb);border-radius:20px;padding:26px 28px 24px;box-shadow:0 28px 80px rgba(2,8,23,.24);animation:cgmcareScModalIn .2s ease;color:#111827}@keyframes cgmcareScModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.cgmcare-products-shortcode .cgmcare-purchase-close,.cgmcare-products-shortcode .cgmcare-shop-modal-close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:24px;line-height:1;color:#6b7280;cursor:pointer}.cgmcare-products-shortcode .cgmcare-purchase-dialog h2,.cgmcare-products-shortcode .cgmcare-shop-modal-head h2{margin:0 30px 6px 0;font-size:22px;font-weight:900;color:#111827;line-height:1.25}.cgmcare-products-shortcode .cgmcare-purchase-subtitle,.cgmcare-products-shortcode .cgmcare-shop-modal-head p{margin:0 0 22px;color:#6b7280;font-size:15px;font-weight:500}.cgmcare-products-shortcode .cgmcare-shop-modal-head span{display:inline-flex;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#2563eb;font-weight:900}.cgmcare-products-shortcode .cgmcare-purchase-options{display:grid;gap:14px}.cgmcare-products-shortcode .cgmcare-purchase-option{display:grid;grid-template-columns:30px 1fr;gap:13px;align-items:flex-start;border:2px solid var(--cgm-purchase-border,#e5e7eb);border-radius:18px;padding:18px;cursor:pointer;background:#fff;transition:.18s ease;box-shadow:0 6px 18px rgba(15,23,42,.04)}.cgmcare-products-shortcode .cgmcare-purchase-option input{position:absolute;opacity:0;pointer-events:none}.cgmcare-products-shortcode .cgmcare-purchase-option.is-selected{border-color:#111827;background:var(--cgm-purchase-selected-bg,#dbeafe);box-shadow:0 12px 28px rgba(37,99,235,.12)}.cgmcare-products-shortcode .cgmcare-purchase-option:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.1)}.cgmcare-products-shortcode .cgmcare-purchase-icon{font-size:22px;line-height:1;color:var(--cgm-purchase-success,#22c55e)}.cgmcare-products-shortcode .cgmcare-purchase-option strong{display:block;margin:0 0 4px;font-size:17px;line-height:1.25;color:#0b2e78;font-weight:900}.cgmcare-products-shortcode .cgmcare-purchase-option em{display:block;font-style:normal;color:#6b7280;font-size:14px;line-height:1.45}.cgmcare-products-shortcode .cgmcare-purchase-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.cgmcare-products-shortcode .cgmcare-purchase-cancel,.cgmcare-products-shortcode .cgmcare-purchase-continue{height:48px;border-radius:999px;padding:0 28px;font-weight:900;border:1px solid #e5e7eb;cursor:pointer;transition:.18s ease}.cgmcare-products-shortcode .cgmcare-purchase-cancel{background:#fff;color:#111827}.cgmcare-products-shortcode .cgmcare-purchase-continue{background:linear-gradient(135deg,var(--cgm-purchase-primary,#2563eb),var(--cgm-purchase-success,#22c55e));border-color:transparent;color:#fff;box-shadow:0 12px 22px rgba(37,99,235,.25)}
.cgmcare-products-shortcode .cgmcare-shop-coverage-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cgmcare-products-shortcode .cgmcare-shop-coverage-form label{display:grid;gap:6px;font-weight:800;color:#111827;font-size:13px}.cgmcare-products-shortcode .cgmcare-shop-coverage-form input,.cgmcare-products-shortcode .cgmcare-shop-coverage-form select,.cgmcare-products-shortcode .cgmcare-shop-coverage-form textarea{width:100%;border:1px solid #dbe3ef;border-radius:12px;padding:12px 14px;font:inherit;background:#fff}.cgmcare-products-shortcode .cgmcare-shop-coverage-form textarea,.cgmcare-products-shortcode .cgmcare-shop-coverage-form .cgmcare-consent,.cgmcare-products-shortcode .cgmcare-form-message,.cgmcare-products-shortcode .cgmcare-shop-submit{grid-column:1/-1}.cgmcare-products-shortcode .cgmcare-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:12px;color:#475569;font-weight:500}.cgmcare-products-shortcode .cgmcare-consent input{width:auto;margin-top:4px}.cgmcare-products-shortcode .cgmcare-field-error{color:#dc2626;font-size:12px}.cgmcare-products-shortcode .has-error input,.cgmcare-products-shortcode .has-error select,.cgmcare-products-shortcode .has-error textarea{border-color:#ef4444!important}.cgmcare-products-shortcode .cgmcare-form-message.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:10px;border-radius:12px}.cgmcare-products-shortcode .cgmcare-form-message.success{color:#087d3e;background:#ecfdf5;border:1px solid #a7f3d0;padding:10px;border-radius:12px}.cgmcare-products-shortcode .cgmcare-shop-submit{height:46px;border:0;border-radius:12px;background:linear-gradient(135deg,#2563eb,#22c55e);color:#fff;font-weight:900;cursor:pointer}
@media(max-width:560px){.cgmcare-products-shortcode .cgmcare-purchase-dialog,.cgmcare-products-shortcode .cgmcare-shop-modal-dialog{padding:22px 18px;border-radius:16px}.cgmcare-products-shortcode .cgmcare-shop-coverage-form{grid-template-columns:1fr}.cgmcare-products-shortcode .cgmcare-purchase-actions{display:grid;grid-template-columns:1fr 1fr}.cgmcare-products-shortcode .cgmcare-purchase-cancel,.cgmcare-products-shortcode .cgmcare-purchase-continue{width:100%;padding:0 16px}}
/* Custom uploaded icon support for Product Shortcode Builder */
.cgmcare-products-shortcode .cgmcare-sc-icon,
.cgmcare-products-shortcode .cgmcare-sc-wishlist-icon,
.cgmcare-products-shortcode .cgmcare-sc-badge-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  line-height:1;
}
.cgmcare-products-shortcode img.cgmcare-sc-icon{
  width:16px;
  height:16px;
  object-fit:contain;
  vertical-align:middle;
}
.cgmcare-products-shortcode img.cgmcare-sc-wishlist-icon{
  width:18px;
  height:18px;
  object-fit:contain;
}
.cgmcare-products-shortcode img.cgmcare-sc-badge-icon{
  width:12px;
  height:12px;
  object-fit:contain;
  margin-right:4px;
}
.cgmcare-products-shortcode .cgmcare-sc-badge{display:inline-flex;align-items:center;gap:4px;}
.cgmcare-products-shortcode .cgmcare-products-view-all img.cgmcare-sc-icon{width:14px;height:14px;}

/* Required product options modal for shortcode Add to Cart */
.cgmcare-products-shortcode .cgmcare-options-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:22px;font-family:var(--cgm-sc-font)}
.cgmcare-products-shortcode .cgmcare-options-modal.is-open{display:flex}
.cgmcare-products-shortcode .cgmcare-options-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(5px)}
.cgmcare-products-shortcode .cgmcare-options-dialog{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:26px 28px 24px;box-shadow:0 28px 80px rgba(2,8,23,.24);animation:cgmcareScModalIn .2s ease;color:#111827}
.cgmcare-products-shortcode .cgmcare-options-close{position:absolute;right:18px;top:16px;border:0;background:transparent;font-size:24px;line-height:1;color:#6b7280;cursor:pointer}
.cgmcare-products-shortcode .cgmcare-options-head span{display:inline-flex;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#2563eb;font-weight:900}
.cgmcare-products-shortcode .cgmcare-options-head h2{margin:0 30px 6px 0;font-size:22px;font-weight:900;color:#111827;line-height:1.25}
.cgmcare-products-shortcode .cgmcare-options-head p{margin:0 0 20px;color:#6b7280;font-size:15px;font-weight:500}
.cgmcare-products-shortcode .cgmcare-options-product{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid #e5e7eb;background:#f9fafb;border-radius:16px;margin-bottom:16px}
.cgmcare-products-shortcode .cgmcare-options-thumb img{width:76px;height:76px;object-fit:cover;border-radius:14px;background:#fff;display:block}
.cgmcare-products-shortcode .cgmcare-options-product span{display:block;color:#2563eb;font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.04em}
.cgmcare-products-shortcode .cgmcare-options-product h3{margin:3px 0 4px;font-size:16px;line-height:1.25;font-weight:900;color:#111827}
.cgmcare-products-shortcode .cgmcare-options-product p{margin:0;color:#16a34a;font-weight:900}
.cgmcare-products-shortcode .cgmcare-options-fields{display:grid;gap:14px;margin:0 0 18px}
.cgmcare-products-shortcode .cgmcare-option-field{display:grid;gap:7px;margin:0;color:#111827;font-weight:800;font-size:14px}
.cgmcare-products-shortcode .cgmcare-option-field em{font-style:normal;color:#ef4444}
.cgmcare-products-shortcode .cgmcare-option-field select{width:100%;min-height:48px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;color:#111827;padding:0 14px;font-size:15px;box-shadow:none;outline:none}
.cgmcare-products-shortcode .cgmcare-option-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.cgmcare-products-shortcode .cgmcare-options-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:10px}
.cgmcare-products-shortcode .cgmcare-options-cancel,.cgmcare-products-shortcode .cgmcare-options-submit{height:46px;border-radius:999px;padding:0 24px;font-weight:900;cursor:pointer;transition:.18s ease}
.cgmcare-products-shortcode .cgmcare-options-cancel{background:#fff;color:#111827;border:1px solid #e5e7eb}
.cgmcare-products-shortcode .cgmcare-options-submit{border:0;background:linear-gradient(135deg,#2563eb,#22c55e);color:#fff;box-shadow:0 12px 22px rgba(37,99,235,.25)}
.cgmcare-products-shortcode .cgmcare-options-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.cgmcare-products-shortcode .cgmcare-options-message{margin-top:12px;font-size:13px;font-weight:700;color:#6b7280}
.cgmcare-products-shortcode .cgmcare-options-message.error{color:#dc2626}
@media(max-width:560px){.cgmcare-products-shortcode .cgmcare-options-dialog{padding:22px 18px;border-radius:16px}.cgmcare-products-shortcode .cgmcare-options-actions{display:grid;grid-template-columns:1fr 1fr}.cgmcare-products-shortcode .cgmcare-options-cancel,.cgmcare-products-shortcode .cgmcare-options-submit{width:100%;padding:0 16px}}

/* CGMCARE shortcode button polish: remove underlines and support insurance action below info button. */
.cgmcare-products-shortcode .cgmcare-sc-btn,
.cgmcare-products-shortcode .cgmcare-sc-btn:hover,
.cgmcare-products-shortcode .cgmcare-sc-btn:focus,
.cgmcare-products-shortcode .cgmcare-sc-insurance,
.cgmcare-products-shortcode .cgmcare-sc-insurance:hover,
.cgmcare-products-shortcode .cgmcare-sc-insurance:focus,
.cgmcare-products-shortcode .cgmcare-products-view-all a,
.cgmcare-products-shortcode .cgmcare-products-view-all a:hover,
.cgmcare-products-shortcode .cgmcare-products-view-all a:focus{
    text-decoration:none!important;
}
.cgmcare-products-shortcode .cgmcare-sc-insurance-info{
    margin-top:8px;
    background:linear-gradient(135deg,#eff6ff,#ecfdf5);
    color:#075985;
    border-color:#bfdbfe;
    box-shadow:0 6px 16px rgba(37,99,235,.10);
}
.cgmcare-products-shortcode .cgmcare-sc-insurance-info:hover,
.cgmcare-products-shortcode .cgmcare-sc-insurance-info:focus{
    background:linear-gradient(135deg,#dbeafe,#d1fae5);
    color:#064e3b;
}
