/* Great Commission / ChristianLifeStore presentation layer for official WooCommerce. */
.greatcomm-shop-shell{width:100%;padding:34px 0 54px;background:#f7f8fa;color:#253047}
.greatcomm-shop-shell>.container{max-width:1240px;margin:0 auto;padding:0 20px}
.greatcomm-shop-inner{background:#fff;border:1px solid #e7eaf0;border-radius:12px;padding:28px;box-shadow:0 8px 28px rgba(20,35,60,.045);min-width:0}
.greatcomm-shop-inner #primary,.greatcomm-shop-inner .content-area{width:100%;float:none}
.greatcomm-shop-inner .woocommerce-breadcrumb{font-size:13px;color:#778196;margin:0 0 20px}
.greatcomm-shop-inner .woocommerce-breadcrumb a{color:#315b91;text-decoration:none}
.greatcomm-shop-inner .woocommerce-products-header{margin:0 0 22px}
.greatcomm-shop-inner .woocommerce-products-header__title,.greatcomm-shop-inner h1.page-title{font-size:clamp(26px,3vw,36px);line-height:1.2;color:#1e2c45;font-weight:700;margin:0 0 12px}
.greatcomm-shop-inner .term-description{color:#626f83;max-width:850px}
.greatcomm-shop-inner .woocommerce-notices-wrapper:empty{display:none}
.greatcomm-shop-inner .woocommerce-info,.greatcomm-shop-inner .woocommerce-message,.greatcomm-shop-inner .woocommerce-error{border-top:3px solid #315b91;border-radius:6px;background:#f5f8fc;padding:14px 18px;margin:0 0 22px}
.greatcomm-shop-inner .woocommerce-info:before,.greatcomm-shop-inner .woocommerce-message:before{color:#315b91}
.greatcomm-shop-inner .woocommerce-result-count{color:#748095;font-size:14px;margin:12px 0}
.greatcomm-shop-inner .woocommerce-ordering select{border:1px solid #d9dee8;border-radius:6px;background:#fff;padding:9px 34px 9px 12px;color:#354158;max-width:100%}
.greatcomm-shop-inner ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:18px 0 28px!important;padding:0!important;}
.greatcomm-shop-inner ul.products:before,.greatcomm-shop-inner ul.products:after{display:none!important}
.greatcomm-shop-inner ul.products li.product{float:none!important;width:auto!important;margin:0!important;padding:14px!important;list-style:none;background:#fff;border:1px solid #e7eaf0;border-radius:10px;display:flex;flex-direction:column;min-width:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.greatcomm-shop-inner ul.products li.product:hover{transform:translateY(-3px);border-color:#ccd6e5;box-shadow:0 12px 28px rgba(20,35,60,.09)}
.greatcomm-shop-inner ul.products li.product a img{width:100%;height:230px;object-fit:contain;background:#f7f8fa;border-radius:7px;margin:0 0 14px;padding:10px;}
.greatcomm-shop-inner ul.products li.product .woocommerce-loop-product__title{font-size:17px;line-height:1.4;font-weight:650;color:#263650;padding:0;margin:0 0 8px}
.greatcomm-shop-inner ul.products li.product .price{font-size:17px;font-weight:700;color:#315b91;margin:8px 0 14px}
.greatcomm-shop-inner ul.products li.product .star-rating{color:#e2a52a;font-size:13px;margin:0 0 8px}
.greatcomm-shop-inner ul.products li.product .button,.greatcomm-shop-inner .single_add_to_cart_button,.greatcomm-shop-inner .button,.greatcomm-shop-inner button.button,.greatcomm-shop-inner input.button{background:#315b91!important;color:#fff!important;border:0!important;border-radius:6px!important;padding:12px 18px!important;font-weight:650!important;line-height:1.25!important;text-decoration:none!important;transition:background .2s ease,transform .2s ease}
.greatcomm-shop-inner ul.products li.product .button{margin-top:auto!important;text-align:center}
.greatcomm-shop-inner .button:hover,.greatcomm-shop-inner button.button:hover,.greatcomm-shop-inner input.button:hover,.greatcomm-shop-inner .single_add_to_cart_button:hover{background:#203f69!important;color:#fff!important;transform:translateY(-1px)}
.greatcomm-shop-inner span.onsale{min-height:0;min-width:0;line-height:1.2;padding:7px 10px;border-radius:4px;background:#c94a4a;color:#fff;font-size:12px;font-weight:700;top:22px;left:22px}
.greatcomm-shop-inner nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;flex-wrap:wrap}
.greatcomm-shop-inner nav.woocommerce-pagination ul li{border:0}
.greatcomm-shop-inner nav.woocommerce-pagination ul li a,.greatcomm-shop-inner nav.woocommerce-pagination ul li span{border:1px solid #dce2eb;border-radius:5px;padding:9px 13px;color:#315b91}
.greatcomm-shop-inner nav.woocommerce-pagination ul li span.current{background:#315b91;color:#fff;border-color:#315b91}
.greatcomm-shop-inner div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:start}
.greatcomm-shop-inner div.product div.images,.greatcomm-shop-inner div.product div.summary{float:none!important;width:auto!important;margin:0!important}
.greatcomm-shop-inner div.product div.images img{border-radius:9px}
.greatcomm-shop-inner div.product .product_title{font-size:clamp(26px,3vw,36px);line-height:1.2;color:#1e2c45;margin:0 0 14px}
.greatcomm-shop-inner div.product p.price,.greatcomm-shop-inner div.product span.price{font-size:25px;font-weight:750;color:#315b91;margin:14px 0}
.greatcomm-shop-inner div.product .woocommerce-product-details__short-description{color:#657187;line-height:1.7}
.greatcomm-shop-inner .quantity .qty{min-height:44px;border:1px solid #d9dee8;border-radius:6px;padding:8px;width:76px}
.greatcomm-shop-inner .woocommerce-tabs{grid-column:1/-1;margin-top:20px;padding-top:22px;border-top:1px solid #e8ebf0}
.greatcomm-shop-inner .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 20px!important}
.greatcomm-shop-inner .woocommerce-tabs ul.tabs:before,.greatcomm-shop-inner .woocommerce-tabs ul.tabs li:before,.greatcomm-shop-inner .woocommerce-tabs ul.tabs li:after{display:none!important}
.greatcomm-shop-inner .woocommerce-tabs ul.tabs li{border:1px solid #e1e6ee!important;border-radius:6px!important;background:#f7f8fa!important;margin:0 6px 6px 0!important;padding:8px 14px!important}
.greatcomm-shop-inner .woocommerce-tabs ul.tabs li.active{background:#315b91!important;border-color:#315b91!important}
.greatcomm-shop-inner .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.greatcomm-shop-inner .woocommerce-tabs ul.tabs li a{font-weight:650!important;color:#354158!important}
.greatcomm-shop-inner table.shop_table{border-collapse:separate;border-spacing:0;border:1px solid #e1e6ee;border-radius:8px;overflow:hidden}
.greatcomm-shop-inner table.shop_table th,.greatcomm-shop-inner table.shop_table td{padding:13px 15px;border-color:#e8ebf0}
.greatcomm-shop-inner table.shop_table th{background:#f6f8fb;color:#34435c}
.greatcomm-shop-inner .cart-collaterals .cart_totals,.greatcomm-shop-inner .woocommerce-checkout #order_review,.greatcomm-shop-inner .woocommerce-checkout #customer_details{background:#fff;border:1px solid #e7eaf0;border-radius:8px;padding:20px}
.greatcomm-shop-inner .form-row input.input-text,.greatcomm-shop-inner .form-row textarea,.greatcomm-shop-inner .form-row select,.greatcomm-shop-inner .woocommerce-input-wrapper input,.greatcomm-shop-inner .woocommerce-input-wrapper select{border:1px solid #d9dee8;border-radius:6px;min-height:43px;padding:9px 11px;max-width:100%}
.greatcomm-shop-inner .select2-container--default .select2-selection--single{height:43px;border:1px solid #d9dee8;border-radius:6px}
.greatcomm-shop-inner .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:41px}
.greatcomm-shop-inner .select2-container--default .select2-selection--single .select2-selection__arrow{height:41px}
.greatcomm-shop-inner .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid #e5e9f0;border-radius:8px;overflow:hidden}
.greatcomm-shop-inner .woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid #e5e9f0}
.greatcomm-shop-inner .woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.greatcomm-shop-inner .woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;color:#315b91;text-decoration:none}
.greatcomm-shop-inner .woocommerce-MyAccount-navigation .is-active a{background:#315b91;color:#fff}
.greatcomm-shop-inner .woocommerce-MyAccount-content{line-height:1.65}
@media(max-width:900px){.greatcomm-shop-inner ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.greatcomm-shop-inner div.product{gap:24px}}
@media(max-width:600px){.greatcomm-shop-shell{padding:18px 0 30px}.greatcomm-shop-shell>.container{padding:0 10px}.greatcomm-shop-inner{padding:16px;border-radius:8px}.greatcomm-shop-inner ul.products{grid-template-columns:1fr;gap:14px}.greatcomm-shop-inner ul.products li.product a img{height:210px}.greatcomm-shop-inner div.product{grid-template-columns:1fr;gap:20px}.greatcomm-shop-inner .woocommerce-tabs{grid-column:auto}.greatcomm-shop-inner .woocommerce-result-count,.greatcomm-shop-inner .woocommerce-ordering{float:none!important;width:100%;text-align:left}}

/* Independent ChristianLifeStore customizer presentation */
.greatcomm-shop-intro{margin:0 0 24px;padding:22px 26px;background:#f6f8fa;border-left:4px solid var(--color-primary,#234b68);border-radius:4px}
.greatcomm-shop-breaking-news{display:flex;align-items:center;gap:0;min-height:42px;padding:0 18px;background:#183b56;color:#fff;overflow:hidden}
.greatcomm-shop-breaking-news-label{position:relative;z-index:2;flex:0 0 auto;padding:12px 18px 12px 0;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.greatcomm-shop-breaking-news-viewport{flex:1 1 auto;min-width:0;overflow:hidden}
.greatcomm-shop-breaking-news-track{display:flex;width:max-content;will-change:transform;animation:greatcomm-shop-news-scroll 32s linear infinite}
.greatcomm-shop-breaking-news-group{display:flex;flex:0 0 auto;align-items:center;gap:42px;padding-right:42px;white-space:nowrap}
.greatcomm-shop-breaking-news a{display:inline-block;color:#fff;text-decoration:none;white-space:nowrap}
.greatcomm-shop-breaking-news a:before{content:'•';margin-right:10px;opacity:.8}
.greatcomm-shop-breaking-news a:hover{text-decoration:underline}
.greatcomm-shop-breaking-news:hover .greatcomm-shop-breaking-news-track{animation-play-state:paused}
@keyframes greatcomm-shop-news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.greatcomm-shop-breaking-news-viewport{overflow-x:auto}.greatcomm-shop-breaking-news-track{animation:none}}
.greatcomm-shop-footer-widgets,.greatcomm-shop-footer-info{padding:22px 0}
.greatcomm-shop-footer-info{background:#f5f6f7}
.greatcomm-shop-sidebar-widgets{margin:0 0 22px;padding:16px;background:#f7f8f9;border:1px solid #e5e8eb;border-radius:4px}

/* Independent ChristianLifeStore branding and front-page controls. */
.greatcomm-shop-branding{padding:22px 0;background:#fff;border-bottom:1px solid #e8e8e8}
.greatcomm-shop-branding .container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.greatcomm-shop-brand-link{display:inline-flex;align-items:center;text-decoration:none}
.greatcomm-shop-logo{display:block;width:auto;max-width:260px;max-height:90px;object-fit:contain}
.greatcomm-shop-brand-title{font-size:clamp(24px,3vw,38px);font-weight:800;line-height:1.15}
.greatcomm-shop-tagline{margin:0;color:#666;font-size:14px}
.greatcomm-shop-intro{margin:0 0 28px;padding:24px;background:#f7f8fa;border-left:4px solid var(--color-primary,#333)}
.greatcomm-shop-intro h1{margin:0 0 10px;font-size:clamp(24px,3vw,34px)}
@media(max-width:600px){.greatcomm-shop-branding .container{align-items:flex-start;flex-direction:column}.greatcomm-shop-logo{max-width:210px}}
.greatcomm-shop-topbar{padding:8px 0;background:#222;color:#fff;font-size:13px}
.greatcomm-shop-topbar a{color:inherit;text-decoration:underline}

/* ChristianLifeStore configurable storefront homepage */
.greatcomm-shop-hero{min-height:300px;margin:0 0 30px;padding:48px 7%;display:flex;align-items:center;background-color:#183b56;background-size:cover;background-position:center;border-radius:10px;color:#fff}
.greatcomm-shop-hero-content{max-width:680px}.greatcomm-shop-hero h1{color:#fff;font-size:clamp(30px,4vw,48px);line-height:1.12;margin:0 0 14px}.greatcomm-shop-hero-copy{font-size:17px;line-height:1.7;color:rgba(255,255,255,.94)}.greatcomm-shop-hero-button{display:inline-block;margin-top:12px;padding:12px 22px;border-radius:5px;background:#fff;color:#183b56;text-decoration:none;font-weight:700}.greatcomm-shop-hero-button:hover{background:#edf2f7;color:#183b56}.greatcomm-shop-home-section{margin:32px 0 42px}.greatcomm-shop-home-section>h2{font-size:clamp(22px,2.5vw,30px);font-weight:750;color:#1e2c45;margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid #e8edf3}.greatcomm-shop-home-section ul.products{margin-top:12px!important}

.greatcomm-shop-frontpage{width:100%;margin:0 0 28px}.greatcomm-shop-header-banner{width:100%;overflow:hidden}.greatcomm-shop-header-banner img{max-width:none!important}@media(max-width:600px){.greatcomm-shop-header-banner img{height:auto!important;min-height:140px;max-height:420px;object-fit:cover}}


/* Align the shop's content shell with the 990px single-post/page content grid. */
.greatcomm-shop-site .greatcomm-shop-shell{box-sizing:border-box;width:100%;padding:24px 0 40px;background:#f5f5f5}
.greatcomm-shop-site .greatcomm-shop-shell>.container{box-sizing:border-box;width:100%;max-width:990px;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}
.greatcomm-shop-site .greatcomm-shop-inner{box-sizing:border-box;width:100%;min-width:0;border-radius:4px;padding:24px;background:#fff;box-shadow:none}
.greatcomm-shop-site .greatcomm-shop-maincontainer{background:#fff}
.greatcomm-shop-site .greatcomm-shop-footer-info{background:#f5f5f5;color:#555;padding:22px 0}
.greatcomm-shop-site .greatcomm-shop-footer-info>.container{box-sizing:border-box;width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}
.greatcomm-shop-site .greatcomm-shop-footer-widgets .container{box-sizing:border-box;width:100%;margin-right:auto;margin-left:auto;padding-right:15px;padding-left:15px}
@media(max-width:600px){.greatcomm-shop-site .greatcomm-shop-shell{padding:14px 0 26px}.greatcomm-shop-site .greatcomm-shop-shell>.container{padding-right:10px;padding-left:10px}.greatcomm-shop-site .greatcomm-shop-inner{padding:14px;border-radius:3px}}


/* Store News follows the same centered content width as single pages. */
.greatcomm-shop-site .greatcomm-shop-breaking-news--contained{
    box-sizing:border-box;
    width:calc(100% - 30px);
    max-width:990px;
    margin:0 auto;
    padding-left:18px;
    padding-right:18px;
}
@media(max-width:600px){
    .greatcomm-shop-site .greatcomm-shop-breaking-news--contained{
        width:calc(100% - 20px);
        padding-left:12px;
        padding-right:12px;
    }
    .greatcomm-shop-site .greatcomm-shop-breaking-news--contained .greatcomm-shop-breaking-news-label{
        padding-right:12px;
        font-size:11px;
    }
}


/* Dev 2.12: shop widgets use the same two-column proportion as the main theme. */
.greatcomm-shop-site .greatcomm-shop-layout-row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
    gap: 28px;
    align-items: start;
    width: 100%;
}
.greatcomm-shop-site .greatcomm-shop-layout-row.no-shop-sidebar {
    grid-template-columns: minmax(0, 1fr);
}
.greatcomm-shop-site .greatcomm-shop-main { min-width: 0; width: 100%; }
.greatcomm-shop-site .greatcomm-shop-sidebar {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    padding: 18px;
    background: #fff;
    border: 1px solid #e5e8ed;
    border-radius: 4px;
}
.greatcomm-shop-site .greatcomm-shop-sidebar .widget { margin: 0 0 22px; }
.greatcomm-shop-site .greatcomm-shop-sidebar .widget:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .greatcomm-shop-site .greatcomm-shop-layout-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }
    .greatcomm-shop-site .greatcomm-shop-sidebar { order: 2; }
}
