/* Compact desktop and tablet landscape */
@media (max-width: 1080px) {
    .site-nav { gap: 1rem; }
    .desktop-nav { display: none; }
    .nav-account { display: none; }
    .nav-toggle { display: block; }
    .site-footer__grid { grid-template-columns: 1.35fr 1fr 1fr; }
    .footer-contact { grid-column: 1 / -1; }
    .resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Tablet portrait */
@media (max-width: 920px) {
    .utility-bar__inner, .site-nav, .section, .page-wrap, .page-hero, .home-hero, .home-stats, .message-stack {
        width: min(100% - 2.5rem, var(--content-width));
    }

    .utility-bar__inner { justify-content: center; min-height: 34px; }
    .utility-bar__inner > p { display: none; }
    .site-nav { min-height: 74px; }

    .home-hero { grid-template-columns: minmax(0, 1fr) 185px; gap: 1.5rem; }
    .home-hero__visual { min-height: 210px; }
    .hero-portrait { width: min(100%, 175px); margin: 0 auto; }
    .hero-note { left: max(0px, calc(50% - 180px)); }

    .program-grid, .event-grid, .weekly-program-grid, .program-flyer-grid, .journey-grid,
    .ministry-grid, .features-grid, .testimony-grid, .member-program-grid,
    .member-quick-grid, .giving-grid, .leader-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .split-feature, .event-feature, .contact-layout, .prayer-layout, .auth-layout,
    .daily-word, .member-dashboard__grid, .profile-detail { grid-template-columns: 1fr; }
    .member-profile-page { grid-template-columns: 1fr; }
    .member-profile-form { grid-column: auto; }
    .member-profile-summary { grid-template-columns: auto minmax(0, 1fr) auto; }
    .member-profile-summary__completion { grid-column: 2; }
    .prophetess-contact { grid-template-columns: 1fr; }
    .prophetess-contact__actions { justify-content: flex-start; }
    .media-hero { grid-template-columns: minmax(0, 1fr) 190px; }
    .video-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .video-detail__layout { grid-template-columns: 1fr; }
    .video-detail__aside { display: none; }

    .control-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .leader-control-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .editor-layout { grid-template-columns: 1fr; }
    .split-feature__image { min-height: 360px; }
    .story-grid, .content-grid, .update-grid { grid-template-columns: 1fr; }
    .dashboard-lists { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-welcome { grid-template-columns: auto minmax(0, 1fr); }
    .member-welcome__actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Large phones and small tablets */
@media (max-width: 640px) {
    .daily-word__message.is-truncated { -webkit-line-clamp: 9; }
    .devotional-player { align-items: stretch; flex-direction: column; padding: .9rem; }
    .devotional-player__controls { width: 100%; }
    .devotional-player__controls button { flex: 1; }

    .site-nav, .section, .page-wrap, .page-hero, .home-hero, .home-stats, .message-stack,
    .utility-bar__inner { width: min(100% - 2rem, var(--content-width)); }

    .site-nav { min-height: 68px; gap: .65rem; }
    .brand { gap: .55rem; min-width: 0; }
    .site-nav .brand__mark { width: 98px; height: 60px; border-radius: 11px; }
    .brand__name { font-size: .94rem; }
    .brand__tagline { font-size: .48rem; letter-spacing: .09em; }
    .nav-actions { gap: .4rem; }
    .nav-actions .btn { min-height: 40px; padding-inline: .72rem; }
    .nav-toggle { width: 42px; height: 40px; border-radius: 11px; }
    .nav-drawer { width: min(360px, calc(100% - .75rem)); padding: 1.15rem; }
    .nav-drawer__eyebrow { margin-top: 1.65rem; }
    .nav-drawer__links a { padding-block: .66rem; }

    .home-hero, .page-hero { margin-top: 1rem; padding: 1.55rem; border-radius: 23px; }
    .home-hero { grid-template-columns: 1fr; gap: 1rem; }
    .home-hero h1 { font-size: clamp(2.25rem, 11vw, 3.35rem); }
    .home-hero__content > p:not(.eyebrow), .page-hero p:not(.eyebrow) { font-size: .96rem; }
    .home-hero__visual { min-height: 185px; }
    .hero-portrait { width: min(100%, 160px); }
    .hero-note { bottom: .45rem; left: .45rem; max-width: 145px; padding: .55rem .6rem; }
    .media-hero { display: block; margin-top: 1rem; padding: 1.55rem; border-radius: 23px; }
    .media-hero h1 { font-size: clamp(2.25rem, 11vw, 3.35rem); }
    .media-hero__signal { width: min(100%, 190px); min-height: 190px; margin: 1.5rem auto 0; }
    .featured-video { grid-template-columns: 1fr; border-radius: 18px; }
    .featured-video__cover { min-height: 225px; }
    .video-card-grid { grid-template-columns: 1fr; }
    .video-detail { margin-top: 1rem; }
    .video-detail__header { align-items: stretch; flex-direction: column; }
    .video-detail__actions { justify-content: flex-start; }
    .video-detail__actions .btn { min-height: 44px; }
    .media-comment-signin { align-items: flex-start; flex-direction: column; }
    .video-recorder { grid-template-columns: 1fr; }
    .video-recorder__preview { grid-row: auto; min-height: 210px; }
    .video-recorder__status { grid-column: auto; }
    .home-stats { grid-template-columns: 1fr; border-radius: 0 0 18px 18px; }
    .stat { padding: 1rem 1.2rem; }
    .daily-verse { grid-template-columns: 1fr; gap: 1.35rem; padding: 1.45rem; }
    .daily-verse__action { display: flex; width: 100%; min-width: 0; align-items: flex-start; flex-direction: column; }
    .daily-verse__seal { width: 3.65rem; height: 3.65rem; }
    .daily-verse .btn { width: 100%; }

    .section { margin-top: 3.7rem; }
    .section-heading, .member-section__heading { display: block; margin-bottom: 1.3rem; }
    .section-heading__copy { margin-top: .7rem; }
    .member-section__heading > .text-link { display: inline-block; margin-top: .75rem; }

    .program-grid, .event-grid, .weekly-program-grid, .program-flyer-grid, .journey-grid,
    .ministry-grid, .features-grid, .testimony-grid, .resource-grid, .leader-grid,
    .giving-grid, .dashboard-grid, .dashboard-lists, .control-workspace,
    .leader-control-list, .member-program-grid, .member-quick-grid { grid-template-columns: 1fr; }

    .program-card { min-height: 180px; }
    .event-gallery { grid-template-columns: 1fr; }
    .event-gallery img { height: 230px; }
    .sermon-item { grid-template-columns: auto 1fr; }
    .sermon-item__action { grid-column: 2; justify-self: start; }
    .profile-photo-large { max-width: 340px; }

    .member-welcome { gap: 1rem; padding: 1.45rem; border-radius: 23px; }
    .member-welcome__avatar { width: 54px; height: 54px; font-size: 1.45rem; }
    .member-welcome h1 { font-size: clamp(1.65rem, 8vw, 2.25rem); }
    .member-welcome__actions { gap: .6rem; }
    .member-welcome__actions .btn, .member-prayer-toggle { min-height: 42px; }
    .member-devotional, .member-prayer, .member-quick-card { padding: 1.3rem; border-radius: 18px; }
    .member-profile-summary { align-items: start; }

    .member-profile-page { gap: .8rem; margin-top: 1rem; }
    .member-profile-page__intro { padding: 1.45rem; border-radius: 22px; }
    .member-profile-page__intro h1 { font-size: clamp(1.85rem, 8vw, 2.4rem); }
    .member-profile-page__intro p:not(.eyebrow) { font-size: .93rem; line-height: 1.65; }
    .member-profile-card, .member-profile-form { padding: 1.2rem; border-radius: 18px; }
    .member-profile-card { align-items: flex-start; gap: .85rem; }
    .member-profile-card__avatar { width: 68px; height: 68px; font-size: 1.65rem; }
    .member-profile-card h2 { font-size: 1.18rem; }
    .member-profile-card p:not(.eyebrow) { font-size: .84rem; line-height: 1.55; }
    .member-profile-form { gap: .9rem; }
    .member-profile-form__heading { gap: .7rem; padding-bottom: .85rem; }
    .member-profile-form__heading h2 { font-size: 1.18rem; }
    .member-profile-form__privacy { min-height: 26px; padding-inline: .48rem; font-size: .63rem; }
    .member-profile-form .form-row { grid-template-columns: 1fr; gap: .85rem; }
    .member-profile-form input, .member-profile-form select, .member-profile-form textarea { min-height: 48px; font-size: 16px; }
    .member-profile-form input[type="file"] { min-height: auto; padding: .8rem .7rem; font-size: .85rem; }
    .member-profile-form .btn { width: 100%; min-height: 50px; justify-content: center; }

    .control-hero { display: block; padding: 1.6rem; border-radius: 23px; }
    .control-hero__actions { margin-top: 1.25rem; }
    .control-panel { padding: 1.2rem; border-radius: 18px; }
    .control-panel--wide { grid-column: auto; }
    .control-panel__heading { align-items: flex-start; flex-direction: column; gap: .7rem; }
    .control-panel__heading .btn { width: 100%; }
    .control-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; }
    .control-stats article { padding: 1rem; }
    .control-stats strong { font-size: 1.9rem; }
    .control-stats span, .control-stats small { font-size: .67rem; }
    .control-row { align-items: flex-start; flex-wrap: wrap; gap: .6rem; }
    .control-row__content { flex-basis: min(100%, 190px); }
    .control-row__action { margin-left: auto; }
    .control-row p, .leader-control-row p { white-space: normal; }
    .leader-control-row { grid-template-columns: 42px minmax(0, 1fr) auto; padding: .8rem; }
    .control-form { grid-template-columns: 1fr; }
    .control-field, .control-field:has(textarea), .control-field:has(input[type="url"]),
    .control-field:has(input[type="file"]), .control-field--checkbox { grid-column: auto; }
    .editor-card, .editor-aside { padding: 1.5rem; }
    .editor-actions { align-items: stretch; flex-direction: column-reverse; }
    .editor-actions .btn { width: 100%; }

    .alert { align-items: flex-start; padding: .75rem .85rem; }
    .site-footer { margin-top: 4rem; padding: 3rem 1rem 1.2rem; }
    .site-footer__grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .footer-contact { grid-column: auto; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; margin-top: 2.2rem; }
}

/* Narrow phones */
@media (max-width: 420px) {
    .utility-bar__links { gap: .7rem; font-size: .69rem; }
    .site-nav .brand__mark { width: 84px; height: 50px; }
    .brand__tagline { display: none; }
    .nav-actions .btn { padding-inline: .62rem; font-size: .82rem; }
    .hero-actions { display: grid; grid-template-columns: 1fr; }
    .hero-actions .btn { width: 100%; }
    .member-welcome__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
    .member-welcome__actions .btn, .member-prayer-toggle { width: 100%; }
    .member-profile-summary { grid-template-columns: auto minmax(0, 1fr); }
    .member-profile-summary__completion { grid-column: 1 / -1; }
    .member-profile-summary > .text-link { grid-column: 1 / -1; }
    .form-row { grid-template-columns: 1fr; }
    .control-stats article { padding: .9rem .8rem; }
    .control-stats strong { font-size: 1.65rem; }
    .control-stats small { display: none; }
}

@media (hover: none) {
    .btn:hover, .program-card:hover, .member-program:hover { transform: none; }
}

@media (max-width: 640px) {
    body { padding-bottom: 76px; }
    .mobile-action-dock { position: fixed; z-index: 35; right: .65rem; bottom: .65rem; left: .65rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; padding: .38rem; border: 1px solid rgba(18, 59, 42, .12); border-radius: 17px; background: rgba(255, 252, 245, .95); box-shadow: 0 14px 34px rgba(11, 31, 22, .18); backdrop-filter: blur(14px); }

    .mobile-action-dock a { display: grid; min-height: 56px; place-items: center; align-content: center; gap: .2rem; border-radius: 12px; color: var(--forest-900); font-size: .68rem; font-weight: 800; line-height: 1.1; text-align: center; text-decoration: none; }
    .mobile-action-dock a.is-active { background: var(--forest-800); color: var(--white); }
    .mobile-action-dock a span { font-size: 1rem; }
}

@media (max-width: 920px) {
    .beliefs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .founder-profile { grid-template-columns: 1fr; }
    .founder-profile__image { min-height: 360px; }
}

@media (max-width: 640px) {
    .beliefs-grid, .control-inbox-grid { grid-template-columns: 1fr; }
    .outreach-callout { display: block; padding: 1.55rem; border-radius: 23px; }
    .outreach-callout__actions { margin-top: 1.2rem; }
    .outreach-callout__actions .btn { width: 100%; }
    .prophetess-contact__actions { display: grid; grid-template-columns: 1fr; }
    .prophetess-contact__actions .btn { width: 100%; }
    .control-panel__actions { width: 100%; }
    .control-panel__actions .btn { flex: 1 1 160px; }
    .control-panel__note { max-width: none; text-align: left; }
    .founder-profile__image { min-height: 300px; }
    .store-hero { grid-template-columns: 1fr; min-height: auto; padding: 2rem 1.4rem; }
    .store-hero h1 { font-size: clamp(2.5rem, 13vw, 4rem); }
    .store-hero__seal { width: min(230px, 75%); margin-inline: auto; }
    .store-toolbar { grid-template-columns: 1fr; padding: 1rem; }
    .store-search > div { grid-template-columns: 1fr; }
    .store-search .btn { width: 100%; }
    .store-categories { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .25rem; scrollbar-width: thin; }
    .store-categories a { flex: 0 0 auto; }
    .store-grid, .store-grid--featured, .store-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .store-card { border-radius: 15px; }
    .store-card__body { min-height: 205px; padding: .9rem; }
    .store-card__body h2 { font-size: 1.05rem; }
    .store-card__body > span { font-size: .73rem; }
    .store-assurance { grid-template-columns: 1fr; }
    .store-assurance > a { grid-column: auto; }
    .store-product__layout, .store-cart-layout { grid-template-columns: 1fr; }
    .store-product__media { border-radius: 20px; }
    .store-product__details h1 { font-size: clamp(2.25rem, 12vw, 3.7rem); }
    .store-buy-box { grid-template-columns: 1fr; }
    .store-buy-box .btn { grid-column: auto; }
    .store-cart-item { grid-template-columns: 76px minmax(0, 1fr) auto; align-items: start; gap: .7rem; }
    .store-cart-item form { grid-column: 2 / -1; }
    .store-cart-item > b { grid-column: 3; grid-row: 1; }
    .store-order-summary { position: static; }
    .store-order-history > article { grid-template-columns: 1fr auto; }
    .store-order-history > article small { grid-column: 1 / -1; }
    .home-store { grid-template-columns: 1fr; padding: 1.5rem; }
    .crusade-giving-banner { grid-template-columns: auto minmax(0, 1fr); }
    .crusade-giving-banner > .btn { grid-column: 1 / -1; justify-self: start; }
    .church-store-hero { grid-template-columns: 1fr; min-height: auto; padding-block: 3.4rem; }
    .church-store-hero__seal { display: none; }
    .church-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .crusade-giving-banner { grid-template-columns: 1fr; text-align: left; }
    .crusade-giving-banner__mark { width: 70px; }
    .crusade-giving-banner > .btn { width: 100%; }
    .event-feature__actions { align-items: stretch; flex-direction: column; }
    .event-feature__actions .btn, .event-feature__actions .text-link { width: 100%; justify-content: center; text-align: center; }
    .church-store-grid { grid-template-columns: 1fr; }
    .church-store-categories { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; }
    .church-store-categories a { flex: 0 0 auto; }
    .church-store-card__body { min-height: auto; }
    .church-store-card__actions { grid-template-columns: 1fr; }
    .church-store-note { align-items: flex-start; }
    .church-store-staffbar { align-items: stretch; flex-direction: column; }.church-store-staffbar a { text-align: center; }
}

@media (max-width: 390px) {
    .store-grid, .store-grid--featured, .store-grid--related { grid-template-columns: 1fr; }
    .store-card__body { min-height: auto; }
}
