.gg-session-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.gg-session-card { min-width:0; border:1px solid var(--gg-line); border-radius:6px; padding:24px; background:var(--gg-white); }
.gg-session-card h2 { font-size:1.5rem; font-weight:500; line-height:1.4; margin:0 0 12px; }
.gg-session-card__image { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; margin-bottom:18px; }
.gg-session-date { color:var(--gg-muted); }
.gg-owned { color:#245b2a; }
.gg-session-card .outline-cta, .gg-single-session .outline-cta { font-family:var(--gg-font); font-size:1rem; cursor:pointer; }
.gg-session-heading { text-align:center; margin-bottom:32px; }
.gg-session-heading h1 { font-size:2.6rem; line-height:1.3; font-weight:500; margin:0; }
.gg-purchase { text-align:center; padding:0 0 30px; border-bottom:1px solid var(--gg-line); }
.gg-session-content { margin-top:40px; }
.gg-session-content h2 { font-size:1.8rem; font-weight:500; }
.gg-session-content .agenda-section, .gg-session-content .details-section { padding-inline:0; }
.gg-single-session .video-placeholder p { font-size:1.25rem; }
.woocommerce { overflow-wrap:anywhere; }
.woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.woocommerce .col2-set { width:100%; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { width:100%; float:none; }
.woocommerce h3 { font-size:1.35rem; font-weight:500; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { width:100%; min-height:46px; padding:8px 12px; border:1px solid var(--gg-line); border-radius:4px; font:inherit; background:#fff; color:var(--gg-ink); }
.woocommerce .select2-container { max-width:100%; }
/* Stripe measures this invisible input; anchor it inside the RTL viewport. */
#wc-stripe-hidden-style-input { inset-inline-start:0 !important; inset-inline-end:auto !important; top:0 !important; }
.woocommerce .select2-container .select2-selection--single { min-height:46px; border:1px solid var(--gg-line); }
.woocommerce .select2-container .select2-selection__rendered { line-height:44px; }
.woocommerce table.shop_table { border-collapse:collapse; background:transparent; border:0; width:100%; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { padding:14px 10px; border-bottom:1px solid var(--gg-line); text-align:start; }
.gg-checkout-coupon label { display:block; margin-bottom:8px; }
.gg-coupon-controls { display:flex; align-items:stretch; gap:8px; }
.gg-coupon-controls input.input-text { flex:1 1 0; min-width:0; width:100%; min-height:46px; padding:8px 12px; border:1px solid var(--gg-line); border-radius:4px; font:inherit; background:#fff; color:var(--gg-ink); }
.woocommerce .gg-coupon-controls button.button { flex:0 0 auto; padding:10px 18px; }
.gg-coupon-controls button:disabled { opacity:.6; cursor:wait; }
#gg-coupon-notice:not(:empty) { margin-top:8px; }
#gg-coupon-notice.gg-coupon-error { color:#a32121; }
.woocommerce #payment { background:var(--gg-panel); border-radius:6px; }
.woocommerce #payment #place_order, .woocommerce button.button, .woocommerce a.button { background:var(--gg-red); color:#fff; border:0; border-radius:4px; padding:14px 24px; font:inherit; cursor:pointer; white-space:normal; }
.woocommerce .woocommerce-info, .woocommerce .woocommerce-message { border-top-color:var(--gg-red); background:var(--gg-white); }
.woocommerce .woocommerce-info::before, .woocommerce .woocommerce-message::before { color:var(--gg-red); }
.woocommerce-checkout .content-page { max-width:850px; }
.woocommerce ul.order_details { padding:0; display:flex; flex-wrap:wrap; gap:16px; }
.woocommerce ul.order_details li { float:none; margin:0; padding:0 0 0 16px; }
@media(max-width:600px) {
    .gg-session-grid { grid-template-columns:minmax(0,1fr); }
    .gg-session-card { padding:20px; }
    .gg-session-heading h1 { font-size:2rem; }
    .woocommerce form .form-row-first, .woocommerce form .form-row-last { float:none; width:100%; }
    .woocommerce table.shop_table td, .woocommerce table.shop_table th { padding:10px 6px; }
    .gg-single-session .video-placeholder { min-height:160px; }
}
