:root{--si-brand-teal:#1C878C;--si-brand-teal-hover:#176F73;--si-brand-teal-tint:#E8F3F4;--si-brand-teal-border:#C6E1E2;--si-brand-teal-rgb:28,135,140}
/* Access-state additions only; Website Enhancements owns public catalogue design. */
.si-library-included [hidden] { display: none !important; }
.si-library-included > .sc-product-item-link { height: auto; }
.si-library-access { padding: 0 16px 18px; }
.si-library-access p { color: var(--si-brand-teal-hover,#176F73); font-size: 14px; font-weight: 600; margin: 0 0 12px; }
.si-library-access button { background: var(--si-brand-teal-hover,#176F73); color: #fff; border: 0; border-radius: 6px; padding: 12px 18px; font: inherit; }
.si-library-access button:disabled { opacity: .65; }
.si-library-access :is(button, a):focus-visible { outline: 2px solid var(--si-brand-teal-hover,#176F73); outline-offset: 3px; }
.si-library-files { font-size: 14px; margin-top: 12px; overflow-wrap: anywhere; }
.si-library-files a { display: block; color: var(--si-brand-teal-hover,#176F73); text-decoration: underline; padding: 8px 0; }

.si-library-access--single { padding: 18px 0; margin: 0 0 20px; }
.si-library-access--single p { font-size: 18px; }
.si-library-included.sc-product-item > .si-library-access { position: relative; z-index: 1; }

/* Member download actions: use Astra's primary brand colour and compact header proportions. */
body .si-library-access > button,
body .si-library-access > .si-library-access__get {
 background:var(--ast-global-color-0, #1C878C) !important;
 color:#fff !important;
 border:0 !important;
 border-radius:5px !important;
 padding:8px 14px !important;
 min-height:36px !important;
 height:auto !important;
 width:auto !important;
 min-width:0 !important;
 display:inline-flex !important;
 align-items:center;
 justify-content:center;
 font-family:inherit !important;
 font-size:12px !important;
 font-weight:600 !important;
 line-height:20px !important;
 letter-spacing:.6px !important;
 text-transform:uppercase;
 text-decoration:none !important;
 box-shadow:none !important;
}
body .si-library-access > :is(button, .si-library-access__get):hover { filter:brightness(.92); }
body .si-library-access > button:disabled { opacity:.65; }
body .si-library-access > :is(button, .si-library-access__get):focus-visible { outline:2px solid var(--ast-global-color-0, #1C878C);outline-offset:3px; }

/* Member options come from the same SureCart variants as the purchase form. */
.si-library-option { display: block; max-width: 32rem; margin: 12px 0; font-size: 14px; font-weight: 600; }
.si-library-option select { display: block; width: 100%; margin-top: 6px; padding: 10px 12px; border: 1px solid #dce3e5; border-radius: 5px; background: #fff; color: #172039; font: inherit; }
.si-library-included .wp-block-surecart-product-variant-pills[hidden],
.si-library-included .wp-block-surecart-product-variant-choices[hidden] { display: none !important; }

/* 1.0.104: the server marks members on an included product page (body.si-library-member-product,
   body.si-pdp-member), so the price and buy controls never show before the member panel.
   shared-template-library.js removes these classes if the session turns out not to be a member.
   ":not(#si-none)" only raises specificity above product-page.css (its buy-button rule uses !important). */
body.si-library-member-product:not(#si-none) .wp-block-surecart-product-page :is(
 .wp-block-surecart-product-selected-price-amount,
 .wp-block-surecart-product-selected-price-scratch-amount,
 .wp-block-surecart-product-selected-price-interval,
 .wp-block-surecart-product-selected-price-trial,
 .wp-block-surecart-product-selected-price-fees,
 .wp-block-surecart-product-sale-badge,
 .wp-block-surecart-product-price,
 .wp-block-surecart-product-quantity,
 .wp-block-surecart-product-buy-buttons,
 .wp-block-surecart-product-variant-pills,
 .wp-block-surecart-product-variant-choices
) { display:none !important; }
body.si-pdp-member:not(#si-none) [data-si-guest] { display:none !important; }
