/*
Theme Name: GoSabim
Theme URI: https://gosabim.com
Author: GoSabim
Description: Blue and white block theme for gosabim.com: beginner-friendly WordPress and WooCommerce launch site. Includes ready-made patterns for Home, Services, About and Free downloads, plus WooCommerce styling.
Version: 1.2.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gosabim
*/

:root{--gs-blue:#007BFF;--gs-deep:#0062CC;--gs-ink:#0B1220;--gs-paper:#F8FAFC;--gs-line:#DCE3EE;--gs-muted:#5B6678;--gs-soft:#EAF3FF;--gs-light:#EEF1F6;--gs-pad:clamp(16px,5vw,64px)}
*{box-sizing:border-box}
body{margin:0;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{text-decoration:none}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
main{margin:0}

/* ---------- announcement + header ---------- */
.gs-ann{background:var(--gs-ink);color:#fff;padding:10px 16px;font-size:14px;font-weight:600}
.gs-ann p{margin:0;color:#fff}
.gs-ann a{color:#9CCBFF;text-decoration:underline}
.gs-header{position:sticky;top:0;z-index:50;background:rgba(248,250,252,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--gs-line);padding:14px var(--gs-pad);gap:16px}
.admin-bar .gs-header{top:32px}
.gs-header .wp-block-site-title{margin:0;font-size:26px;font-weight:800;letter-spacing:-.03em}
.gs-header .wp-block-site-title a{color:var(--gs-ink);display:inline-flex;align-items:center;gap:10px}
.gs-header .wp-block-site-title a::before{content:"";width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#3B9BFF,#0062CC);display:inline-block}
.gs-header .wp-block-navigation{font-size:16px;font-weight:600;gap:28px}
.gs-header .wp-block-navigation a{color:var(--gs-ink)}
.gs-header .wp-block-navigation a:hover{color:var(--gs-deep)}
.gs-actions{display:flex;gap:12px;align-items:center}

/* ---------- buttons ---------- */
.gs-btn .wp-block-button__link{background:var(--gs-deep);color:#fff;padding:17px 28px;border-radius:999px;font-size:17px;font-weight:700;box-shadow:0 10px 24px rgba(0,98,204,.28);border:2px solid var(--gs-deep)}
.gs-btn .wp-block-button__link:hover{background:#004fa8;border-color:#004fa8}
.gs-btn--ghost .wp-block-button__link{background:transparent;color:var(--gs-ink);border:2px solid var(--gs-ink);box-shadow:none}
.gs-btn--ghost .wp-block-button__link:hover{background:var(--gs-ink);color:#fff}
.gs-btn--white .wp-block-button__link{background:#fff;color:var(--gs-ink);border:2px solid #fff;box-shadow:none}
.gs-btn--white .wp-block-button__link:hover{background:var(--gs-soft);color:var(--gs-ink)}
.gs-btn--ghostwhite .wp-block-button__link{background:transparent;color:#fff;border:2px solid #fff;box-shadow:none}
.gs-btn--sm .wp-block-button__link{padding:12px 22px;font-size:15px}
.wp-block-buttons{gap:14px;margin-top:30px}

/* ---------- sections ---------- */
.gs-sec{padding:96px var(--gs-pad)}
.gs-sec--tight{padding:56px var(--gs-pad)}
.gs-sec--white{background:#fff;border-top:1px solid var(--gs-line);border-bottom:1px solid var(--gs-line)}
.gs-sec--light{background:var(--gs-light);border-top:1px solid var(--gs-line);border-bottom:1px solid var(--gs-line)}
.gs-sec--dark{background:radial-gradient(800px 400px at 100% 0,#12305F,transparent 60%),var(--gs-ink);color:#fff}
.gs-sec--dark h2,.gs-sec--dark h3{color:#fff}
.gs-sec--dark p{color:#B9C4D6}
.gs-hero{background:radial-gradient(900px 520px at 88% -10%,#CFE4FF,transparent 60%),radial-gradient(700px 480px at -5% 100%,#E3EFFF,transparent 60%),var(--gs-paper);padding:72px var(--gs-pad) 80px;overflow:hidden}
.gs-hero>.wp-block-group{gap:48px;align-items:center}
.gs-hero__text{flex:1 1 520px;min-width:0}
.gs-hero__art{flex:1 1 440px;min-width:0}
.gs-band{background:linear-gradient(135deg,#1A8BFF 0%,#0062CC 100%);color:#fff;padding:88px var(--gs-pad);text-align:center}
.gs-band h2{color:#fff;margin:0 auto;max-width:820px;font-size:clamp(34px,5vw,64px);font-weight:900;letter-spacing:-.045em;line-height:1.04}
.gs-band p{color:#E8F2FF;font-size:20px}
.gs-band .wp-block-buttons{justify-content:center}
.gs-flag{background:linear-gradient(135deg,#1A8BFF 0%,#0062CC 100%);color:#fff;border-radius:44px;padding:clamp(28px,5vw,68px);gap:40px;align-items:center;overflow:hidden}
.gs-flag h2{color:#fff;font-size:clamp(36px,4.8vw,64px);font-weight:900;letter-spacing:-.05em;line-height:1.02;margin:16px 0 0}
.gs-flag p{color:#E8F2FF}
.gs-flag__text{flex:1 1 440px;min-width:0}
.gs-flag__art{flex:1 1 360px;min-width:0;display:flex;justify-content:center}

/* ---------- type ---------- */
.gs-eyebrow{font-family:'DejaVu Sans Mono',ui-monospace,monospace;font-size:13px;font-weight:700;letter-spacing:.18em;color:var(--gs-deep);margin:0}
.gs-sec--dark .gs-eyebrow{color:#7DB8FF}
.gs-flag .gs-eyebrow{color:#fff}
.gs-h1{font-size:clamp(38px,5.2vw,68px);font-weight:900;letter-spacing:-.05em;line-height:1;margin:26px 0 0}
.gs-h2{font-size:clamp(32px,4vw,54px);font-weight:800;letter-spacing:-.04em;line-height:1.06;margin:14px 0 0;max-width:820px}
.gs-lead{font-size:21px;line-height:1.55;color:var(--gs-muted);max-width:640px;margin:24px 0 0}
.gs-hl{background:var(--gs-blue);color:#fff;padding:0 14px;border-radius:12px;display:inline-block}
.gs-ital{font-family:'Lora',serif;font-style:italic;font-weight:500;color:var(--gs-deep)}
.gs-pill{display:inline-flex;background:#fff;border:1px solid var(--gs-line);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;color:var(--gs-deep);margin:0}
.gs-checks{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:15px;font-weight:600}
.gs-checks li::before{content:"\2713";color:var(--gs-deep);font-weight:900;margin-right:8px}
.gs-ticks{list-style:none;padding:0;margin:10px 0 0}
.gs-ticks li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.4;margin-top:10px}
.gs-ticks li::before{content:"\2713";color:var(--gs-deep);font-weight:900;flex:none}
.gs-chips{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.gs-chips li{background:#fff;border:1px solid var(--gs-line);border-radius:999px;padding:12px 22px;font-size:16px;font-weight:700}
.gs-chips li::before{content:"\2713";color:var(--gs-deep);font-weight:900;margin-right:10px}
.gs-center{text-align:center}

/* ---------- cards & grids ---------- */
.gs-grid{gap:22px;margin-top:48px}
.gs-card{background:#fff;border:2px solid var(--gs-line);border-radius:28px;padding:32px;position:relative}
.gs-card h3{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:18px 0 0}
.gs-card p{color:var(--gs-muted);font-size:16px;line-height:1.55;margin:10px 0 0}
.gs-card--dark{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.gs-card--dark h3{color:#fff}
.gs-card--feature{border-color:var(--gs-blue);background:linear-gradient(135deg,#EAF3FF,#fff);border-radius:36px;padding:40px}
.gs-icon{width:54px;height:54px;border-radius:16px;background:var(--gs-soft);color:var(--gs-deep);display:grid;place-items:center}
.gs-card--dark .gs-icon{background:var(--gs-blue);color:#fff}
.gs-card p.gs-weeknum,.gs-weeknum{font-size:64px;font-weight:900;letter-spacing:-.05em;color:#CFE4FF;line-height:1;margin:0}
.gs-card .gs-mono,.gs-mono{font-family:'DejaVu Sans Mono',ui-monospace,monospace;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--gs-deep);margin:8px 0 0}
.gs-link{font-weight:700;color:var(--gs-deep)!important;margin-top:20px!important}
.gs-link a{color:var(--gs-deep)}
.gs-badge{display:inline-block;background:var(--gs-soft);color:var(--gs-deep)!important;padding:5px 12px;border-radius:999px;font-size:12px!important;font-weight:800;letter-spacing:.06em;margin:0!important}
.gs-badge--ink{background:var(--gs-ink);color:#fff!important}
.gs-step{display:flex;flex-direction:column;gap:6px}
.gs-step p.gs-step__n,.gs-step__n{width:56px;height:56px;border-radius:50%;background:var(--gs-blue);color:#fff;display:grid;place-items:center;font-weight:800;font-size:22px;margin:0;line-height:1}
.gs-step h3{font-size:23px;font-weight:800;margin:14px 0 0}
.gs-step p{color:var(--gs-muted);font-size:16px;line-height:1.55;margin:4px 0 0}
.gs-two{gap:48px;align-items:flex-start}
.gs-two>*{flex:1 1 400px;min-width:0}
.gs-promise{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}
.gs-promise h3{font-size:21px;font-weight:800;margin:0}
.gs-promise p{color:var(--gs-muted);margin:6px 0 0}
.gs-art{height:150px;border-radius:24px 24px 0 0;background-image:radial-gradient(rgba(255,255,255,.35) 2px,transparent 2px);background-size:22px 22px}

/* ---------- details / FAQ ---------- */
.wp-block-details{border-bottom:2px solid var(--gs-line);padding:20px 0;margin:0}
.wp-block-details summary{font-size:21px;font-weight:800;cursor:pointer}
.wp-block-details p{color:var(--gs-muted);font-size:17px;line-height:1.55;margin:10px 0 0}

/* ---------- query loop (guides) ---------- */
.gs-guides .wp-block-post-template{gap:22px;margin-top:36px}
.gs-guides .wp-block-post-template>li{background:#fff;border:2px solid var(--gs-line);border-radius:28px;overflow:hidden;padding:0 0 22px}
.gs-guides .wp-block-post-featured-image{margin:0;background:linear-gradient(135deg,#3B9BFF,#0062CC);min-height:150px}
.gs-guides .wp-block-post-title,.gs-guides .wp-block-post-excerpt{padding:0 24px}
.gs-guides .wp-block-post-title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:20px 0 0}
.gs-guides .wp-block-post-title a{color:var(--gs-ink)}
.gs-guides .wp-block-post-excerpt{color:var(--gs-muted);margin-top:10px}

/* ---------- footer ---------- */
.gs-footer{background:var(--gs-ink);color:#B9C4D6;padding:72px var(--gs-pad) 40px}
.gs-footer p{margin:0 0 12px;color:#B9C4D6}
.gs-footer a{color:#fff;font-weight:600}
.gs-footer .gs-mono{color:#7DB8FF;margin:0 0 18px}
.gs-footer .gs-logo{font-size:28px;font-weight:800;color:#fff;letter-spacing:-.03em;margin:0 0 14px}
.gs-footer__note{border-top:1px solid #26334D;margin-top:48px;padding-top:24px;font-size:14px;line-height:1.6}

/* ---------- pages / blog ---------- */
.gs-page{padding:64px var(--gs-pad)}
.gs-page .wp-block-post-title{font-size:clamp(34px,5vw,60px);font-weight:900;letter-spacing:-.045em;line-height:1.05}

/* ---------- WooCommerce ---------- */
.woocommerce .button,.woocommerce a.button,.woocommerce button.button,.wc-block-components-button,.wp-block-woocommerce-cart .wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.wp-element-button.add_to_cart_button,.single_add_to_cart_button{background:var(--gs-deep)!important;color:#fff!important;border-radius:999px!important;padding:14px 26px!important;font-weight:700!important;border:0!important}
.woocommerce .button:hover,.wc-block-components-button:hover,.single_add_to_cart_button:hover{background:#004fa8!important}
.wc-block-grid__product,.wc-block-product,.wp-block-woocommerce-product-collection li.wc-block-product{background:#fff;border:2px solid var(--gs-line);border-radius:28px;padding:22px;overflow:hidden}
.wc-block-grid__product-title,.wp-block-post-title.wc-block-components-product-name{font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--gs-ink)}
.wc-block-components-product-price,.wc-block-grid__product-price,.price{font-weight:900;color:var(--gs-ink)}
.wc-block-components-product-image img,.wc-block-grid__product-image img{border-radius:18px;background:linear-gradient(160deg,#EAF3FF,#F8FAFC)}
.woocommerce-info,.woocommerce-message,.wc-block-components-notice-banner{border-radius:16px}
.wp-block-woocommerce-checkout,.wp-block-woocommerce-cart,.woocommerce-account .woocommerce{padding-top:12px}
.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:28px}
.wc-block-components-totals-wrapper,.wc-block-checkout__sidebar{border-radius:20px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:14px;margin:0;background:#fff;border:2px solid var(--gs-line);border-radius:26px}
.woocommerce-MyAccount-navigation li a{display:block;padding:14px 18px;border-radius:14px;font-weight:700;color:var(--gs-ink)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--gs-deep);color:#fff}
.woocommerce-order-downloads table,.woocommerce-table--order-downloads{border-radius:20px;overflow:hidden}
.wc-block-mini-cart__button{color:var(--gs-ink)}

@media (max-width:781px){.gs-sec{padding:64px var(--gs-pad)}.gs-header .wp-block-navigation{gap:16px}.admin-bar .gs-header{top:46px}}

/* ---------- logo ---------- */
.gs-logo-link{display:inline-block;line-height:0}
.gs-logo-link img{display:block;height:auto}
.gs-logo-link--header img{width:190px}
.gs-logo-link--footer img{width:210px;margin-bottom:6px}
.gs-actions .wp-block-buttons{margin-top:0}
.gs-header .wp-block-html{margin:0}
.gs-muted{color:var(--gs-muted)}
@media (max-width:600px){.gs-logo-link--header img{width:150px}}

/* feature card: stack cover above text so it fits one grid column */
.gs-card.gs-card--feature{flex-direction:column;align-items:flex-start;gap:24px}
.gs-card--feature>.wp-block-group{width:100%}
.gs-card--feature .wp-block-buttons{margin-top:18px}
.gs-flag__art{min-height:380px}
.gs-flag .gs-checks li::before{color:#fff}
.gs-flag__art{min-height:340px}

.gs-stack{display:flex;flex-direction:column;gap:26px;align-items:stretch}
.gs-stack>*{width:100%;max-width:100%}

/* ---------- layout fixes (v1.2) ---------- */
/* WordPress centres every child of a constrained block; keep headings and text on the left edge */
.gs-eyebrow,.gs-h1,.gs-h2,.gs-lead{margin-left:0!important;margin-right:0!important}
.gs-band .gs-h2,.gs-band .gs-lead,.gs-center.gs-eyebrow{margin-left:auto!important;margin-right:auto!important}
.gs-sec>.wp-block-group,.gs-hero>.wp-block-group{margin-left:auto!important;margin-right:auto!important}
/* grids: fill the whole row, no empty columns */
.gs-grid,.gs-grid.is-layout-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))!important;gap:22px!important}
.gs-grid>*{margin:0!important;min-width:0}
/* promise rows: icon left, text right, always */
.gs-promise{flex-wrap:nowrap!important}
.gs-promise>.wp-block-group{flex:1 1 auto;min-width:0}
.gs-promise h3,.gs-promise p{margin-left:0!important}
.gs-two{align-items:flex-start!important}
.gs-two>*{margin-left:0!important}
.gs-ticks li{align-items:flex-start}
.gs-founder{margin-top:22px;padding:40px}
.gs-founder h3{font-size:30px;margin:12px 0 0}
.gs-founder p{font-size:18px;line-height:1.65;color:var(--gs-muted);max-width:820px;margin:16px 0 0}
.gs-card .wp-block-buttons{margin-top:20px}
.gs-sec--white .gs-founder,.gs-sec .gs-founder{background:#fff}
.gs-card.is-layout-flex{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:22px}
.gs-card.is-layout-flex>.wp-block-group{width:100%}
.gs-card.is-layout-flex .gs-badge{margin-bottom:8px!important}
#contact p{margin:12px 0 0}
#contact .gs-h2{margin-bottom:6px}
.gs-card .gs-badge{margin-top:16px!important}
