
/* Katholon 2.94: source-level layout normalization, liturgy image assignment, university contrast, real shop */
:root{--k294-red:#8b101b;--k294-red-dark:#3f050b;--k294-gold:#d7ad48;--k294-cream:#fbf5ea;--k294-card:#fffaf3;--k294-ink:#281b16;--k294-muted:#604b3f;}

/* Hero layout aligned with liturgy.html: balanced text/media, no squeezed left column */
.rites-page-287 .lit-hero-259,
.lit-page-259 > .lit-hero-259{max-width:none!important;width:100%!important;margin:0!important;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)!important;gap:clamp(28px,4vw,64px)!important;align-items:center!important;padding:clamp(34px,4.6vw,70px) clamp(24px,4vw,72px)!important;background:radial-gradient(circle at 20% 5%,rgba(215,173,72,.24),transparent 34%),linear-gradient(135deg,#7d0d17,#3f050b)!important;color:#fff!important;}
.rites-page-287 .lit-hero-copy-259,
.lit-page-259 > .lit-hero-259 .lit-hero-copy-259{max-width:980px!important;min-width:0!important;}
.rites-page-287 .lit-hero-copy-259 h1,
.lit-page-259 > .lit-hero-259 h1{font-size:clamp(2.45rem,5.2vw,5.75rem)!important;line-height:.95!important;margin:.16em 0 .18em!important;color:#fff7e7!important;text-shadow:0 2px 16px rgba(0,0,0,.34)!important;letter-spacing:-.035em!important;}
.rites-page-287 .lit-hero-copy-259 p,
.lit-page-259 > .lit-hero-259 p{font-size:clamp(1.04rem,1.18vw,1.28rem)!important;line-height:1.58!important;color:#fff4df!important;max-width:92ch!important;margin:0 0 .62rem!important;}
.rites-page-287 .lit-hero-kicker-259,
.lit-page-259 > .lit-hero-259 .lit-hero-kicker-259{display:inline-flex;margin:0 0 8px;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:800;color:#f4d47b!important;}
.rites-page-287 .lit-quicklinks-259,
.lit-page-259 > .lit-hero-259 .lit-quicklinks-259{margin-top:16px!important;gap:10px!important;}
.rites-page-287 .lit-hero-figure-259,
.lit-page-259 > .lit-hero-259 .lit-hero-figure-259{width:100%!important;max-width:min(780px,44vw)!important;justify-self:end!important;margin:0!important;border-radius:28px!important;overflow:hidden!important;background:#fffaf3!important;border:1px solid rgba(215,173,72,.48)!important;box-shadow:0 24px 70px rgba(0,0,0,.22)!important;cursor:zoom-in;}
.rites-page-287 .lit-hero-figure-259 img,
.lit-page-259 > .lit-hero-259 .lit-hero-figure-259 img{display:block;width:100%;height:auto!important;object-fit:contain!important;background:#120d0b;}
.rites-page-287 .lit-hero-figure-259 figcaption,
.lit-page-259 > .lit-hero-259 .lit-hero-figure-259 figcaption{display:none!important;}

/* New Testament Priesthood inner images: slightly larger, still integrated with text */
.ntp-283-sidegrid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(380px,720px)!important;gap:clamp(22px,3vw,44px)!important;align-items:start!important;}
.ntp-283-sidefigure{max-width:720px!important;justify-self:end!important;border-radius:22px!important;}
.ntp-283-sidefigure img{width:100%!important;max-height:640px!important;object-fit:contain!important;}

/* Liturgy images are assigned to their doctrinal sections, not gathered in a separate visual-path block */
.k294-liturgy-inline-visual{margin:0;background:#fffaf3;border:1px solid rgba(100,70,40,.16);border-radius:24px;overflow:hidden;box-shadow:0 16px 36px rgba(47,29,16,.08);cursor:zoom-in;color:#2f211b;}
.k294-liturgy-inline-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#f7efe5;}
.k294-liturgy-inline-visual figcaption{padding:15px 17px;background:#fffaf3;color:#3a2b24;line-height:1.55;border-top:1px solid rgba(139,16,27,.12);}
.k294-liturgy-inline-visual figcaption strong{display:block;color:#6d241c;font-size:1.04rem;margin-bottom:.25rem;}
.k294-lightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(16,10,8,.84);padding:clamp(18px,3vw,42px);}
.k294-lightbox.is-open{display:flex;}
.k294-lightbox-panel{position:relative;max-width:min(96vw,1500px);max-height:92vh;background:#120d0b;border:1px solid rgba(255,244,224,.28);border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.45);overflow:hidden;}
.k294-lightbox-panel img{display:block;width:auto;height:auto;max-width:100%;max-height:86vh;object-fit:contain;background:#0f0b09;}
.k294-lightbox-caption{margin:0;padding:10px 14px;color:#fff4df;font-size:.95rem;line-height:1.45;background:rgba(0,0,0,.34);}
.k294-lightbox-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;border-radius:999px;background:#f5d678;color:#3f050b;font-size:1.35rem;font-weight:900;cursor:pointer;}

/* University: correct hero title and dark catalogue text on light cards */
.k262-university-main .k262-hero h1{color:#fff7e7!important;text-shadow:0 2px 16px rgba(0,0,0,.36)!important;}
.k262-university-main .k262-hero .lead{color:#fff4df!important;}
#catalogue.k262-dark .k262-course-grid article,
#catalogue.k262-dark .k262-course-grid .k262-course-card{background:#fffaf3!important;color:#241713!important;border:1px solid rgba(215,173,72,.42)!important;box-shadow:0 16px 36px rgba(0,0,0,.18)!important;}
#catalogue.k262-dark .k262-course-grid article h3,
#catalogue.k262-dark .k262-course-grid .k262-course-card h3{color:#6d241c!important;}
#catalogue.k262-dark .k262-course-grid article p,
#catalogue.k262-dark .k262-course-grid article strong,
#catalogue.k262-dark .k262-course-grid .k262-course-card p,
#catalogue.k262-dark .k262-course-grid .k262-course-card strong{color:#2d221c!important;}
#catalogue.k262-dark .k262-course-grid .k262-pill{background:#f4e7d2!important;color:#6d241c!important;border-color:rgba(139,16,27,.18)!important;}

/* Shop */
.k294-shop-main{background:#fbf5ea;color:#281b16;}
.k294-shop-main *{box-sizing:border-box;}
.k294-shop-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,4vw,64px);align-items:center;padding:clamp(40px,5vw,78px) clamp(24px,4vw,72px);background:radial-gradient(circle at 20% 5%,rgba(215,173,72,.24),transparent 34%),linear-gradient(135deg,#7d0d17,#3f050b);color:#fff;}
.k294-shop-hero h1{font-size:clamp(2.6rem,5.5vw,6rem);line-height:.95;margin:.12em 0 .18em;color:#fff7e7;text-shadow:0 2px 16px rgba(0,0,0,.36);}
.k294-shop-hero .lead{font-size:clamp(1.05rem,1.55vw,1.45rem);line-height:1.6;color:#fff4df;max-width:88ch;}
.k294-shop-kicker{display:inline-flex;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.78rem;color:#f4d47b;margin-bottom:.6rem;}
.k294-shop-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;}
.k294-shop-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(215,173,72,.58);border-radius:999px;padding:.82rem 1.05rem;text-decoration:none;font-weight:800;background:#fff4df;color:#7d0d17;cursor:pointer;}
.k294-shop-btn.dark{background:#7d0d17;color:#fff4df;border-color:#7d0d17;}
.k294-shop-btn.ghost{background:transparent;color:#fff4df;border-color:rgba(255,244,223,.5);}
.k294-shop-panel{background:rgba(255,250,243,.97);border:1px solid rgba(215,173,72,.48);border-radius:28px;box-shadow:0 24px 70px rgba(0,0,0,.22);padding:24px;color:#281b16;}
.k294-shop-panel h2{margin:.1rem 0 .5rem;color:#6d241c;font-size:clamp(1.6rem,2.6vw,2.55rem);}
.k294-shop-status{display:grid;gap:10px;}
.k294-shop-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(139,16,27,.12);padding:10px 0;}
.k294-shop-section{padding:clamp(38px,4.5vw,72px) clamp(24px,4vw,72px);}
.k294-shop-section-title{max-width:1200px;margin:0 auto 26px;}
.k294-shop-section-title h2{font-size:clamp(2rem,3.6vw,4rem);line-height:1;margin:.15em 0;color:#6d241c;}
.k294-shop-section-title p{font-size:1.08rem;line-height:1.7;color:#4f3d33;max-width:92ch;}
.k294-shop-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:1500px;margin:0 auto;}
.k294-shop-cat{display:block;text-align:left;border:1px solid rgba(139,16,27,.14);border-radius:22px;background:#fffaf3;padding:18px;color:#281b16;box-shadow:0 12px 28px rgba(47,29,16,.06);cursor:pointer;}
.k294-shop-cat.active{border-color:#8b101b;box-shadow:0 0 0 2px rgba(139,16,27,.12),0 14px 34px rgba(47,29,16,.08);}
.k294-shop-cat strong{display:block;color:#6d241c;font-size:1.06rem;margin-bottom:.3rem;}
.k294-shop-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);gap:clamp(22px,3vw,42px);align-items:start;max-width:1680px;margin:0 auto;}
.k294-shop-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px;}
.k294-shop-toolbar input,.k294-shop-toolbar select{border:1px solid rgba(139,16,27,.18);border-radius:999px;background:#fffaf3;padding:.85rem 1rem;color:#281b16;min-width:min(100%,240px);}
.k294-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.k294-product-card{background:#fffaf3;border:1px solid rgba(139,16,27,.13);border-radius:24px;overflow:hidden;box-shadow:0 14px 34px rgba(47,29,16,.07);display:flex;flex-direction:column;min-height:100%;}
.k294-product-art{aspect-ratio:16/10;background:linear-gradient(135deg,#f8ead4,#fffaf3);display:flex;align-items:center;justify-content:center;font-size:3rem;color:#8b101b;border-bottom:1px solid rgba(139,16,27,.1);}
.k294-product-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.k294-product-body h3{margin:0;color:#6d241c;font-size:1.18rem;line-height:1.2;}
.k294-product-body p{margin:0;color:#4e3a30;line-height:1.55;}
.k294-product-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;align-items:center;justify-content:space-between;}
.k294-price{font-size:1.12rem;font-weight:900;color:#281b16;}
.k294-pill{display:inline-flex;border:1px solid rgba(139,16,27,.16);border-radius:999px;padding:.28rem .55rem;font-size:.78rem;color:#6d241c;background:#f4e7d2;font-weight:800;}
.k294-cart{position:sticky;top:94px;background:#fffaf3;border:1px solid rgba(139,16,27,.16);border-radius:26px;box-shadow:0 18px 46px rgba(47,29,16,.09);padding:20px;}
.k294-cart h2{color:#6d241c;margin:.1rem 0 .8rem;}
.k294-cart-items{display:grid;gap:10px;}
.k294-cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;border-bottom:1px solid rgba(139,16,27,.1);padding:10px 0;}
.k294-cart-line strong{color:#281b16;}
.k294-cart-line small{color:#604b3f;}
.k294-cart-total{display:flex;justify-content:space-between;gap:12px;margin:16px 0;font-weight:900;font-size:1.1rem;}
.k294-shop-note{border-radius:20px;background:#f7ead5;border:1px solid rgba(139,16,27,.14);padding:14px;color:#4e3a30;line-height:1.55;}
.k294-order-status{margin-top:12px;color:#6d241c;font-weight:800;min-height:1.4em;}
.k294-shop-infra{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:1500px;margin:0 auto;}
.k294-shop-infra article{background:#fffaf3;border:1px solid rgba(139,16,27,.13);border-radius:24px;padding:20px;box-shadow:0 14px 34px rgba(47,29,16,.07);}
.k294-shop-infra h3{color:#6d241c;margin:.1rem 0 .5rem;}
@media(max-width:1120px){.rites-page-287 .lit-hero-259,.lit-page-259>.lit-hero-259,.k294-shop-hero,.k294-shop-shell{grid-template-columns:1fr!important}.rites-page-287 .lit-hero-figure-259,.lit-page-259>.lit-hero-259 .lit-hero-figure-259{max-width:min(900px,100%)!important;justify-self:start!important}.k294-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.k294-shop-cats,.k294-shop-infra{grid-template-columns:repeat(2,minmax(0,1fr));}.k294-cart{position:relative;top:auto}.ntp-283-sidegrid{grid-template-columns:1fr!important}.ntp-283-sidefigure{justify-self:start!important;}}
@media(max-width:720px){.k294-product-grid,.k294-shop-cats,.k294-shop-infra{grid-template-columns:1fr}.k294-shop-section,.k294-shop-hero{padding-left:16px;padding-right:16px}.rites-page-287 .lit-hero-259,.lit-page-259>.lit-hero-259{padding-left:16px!important;padding-right:16px!important}.rites-page-287 .lit-hero-copy-259 h1,.lit-page-259>.lit-hero-259 h1{font-size:2.55rem!important}}
