/* Gulf Pharmacy small components — tokens from common.css :root.
   Includes: banner, html_block, cms_header_section, cms_footer_section, footer. */

/* ── Banner ─────────────────────────────────────────────── */
.gp-banner-section{position:relative;border-radius:16px;overflow:hidden;min-height:260px;display:flex;align-items:center;justify-content:center;margin-bottom:28px}
.gp-banner-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.gp-banner-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35)}
.gp-banner-content{position:relative;z-index:2;text-align:center;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:14px}
.gp-banner-title{font-size:clamp(22px,4vw,44px);font-weight:800;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.gp-banner-sub{font-size:16px;opacity:.9;margin:0}
.gp-banner-cta{background:var(--gp-accent);color:#fff;padding:12px 32px;border-radius:10px;font-weight:700;text-decoration:none;transition:background .2s}
.gp-banner-cta:hover{background:var(--gp-primary)}

/* ── HTML Block ─────────────────────────────────────────── */
.cms-hb-title{font-size:24px;font-weight:800;color:var(--gp-text);margin:0 0 20px}
.gp-html-block{line-height:1.75;font-size:15px;color:#374151}
.gp-html-block img{max-width:100%;height:auto;border-radius:10px;margin:12px 0}
.gp-html-block h1,.gp-html-block h2,.gp-html-block h3{color:var(--gp-text);font-weight:800}
.gp-html-block a:not(.btn):not(.btn-inquire):not(.gp-banner-cta){color:var(--gp-primary);text-decoration:underline}
.gp-html-block a.btn,.gp-html-block a.btn-inquire,.gp-html-block a.gp-banner-cta{text-decoration:none}
.gp-html-block table{width:100%;border-collapse:collapse}
.gp-html-block td,.gp-html-block th{border:1px solid var(--gp-border);padding:10px 14px}

/* ── CMS Header strip ───────────────────────────────────── */
.gp-cms-header-strip{background:#214548;padding:10px 0}
.gp-cms-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.gp-cms-hstrip-title{color:#fff;font-size:14px;font-weight:600}
.gp-cms-hstrip-nav{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.gp-cms-hstrip-nav a{color:rgba(255,255,255,.85);text-decoration:none;font-size:13px;padding:4px 10px;border-radius:6px;transition:background .2s,color .2s}
.gp-cms-hstrip-nav a:hover{background:rgba(255,255,255,.15);color:#fff}
.gp-cms-hstrip-body{flex:1 1 100%;color:#cbd5e1;font-size:13px;line-height:1.5}
.gp-cms-hstrip-body a{color:#fff;text-decoration:underline}
@media (max-width:768px){
    .gp-cms-header-strip{padding:10px 0}
    .gp-cms-header-inner{gap:10px}
    .gp-cms-hstrip-nav{gap:4px}
    .gp-cms-hstrip-nav a{font-size:13px;padding:6px 10px}
}

/* ── CMS Footer strip ───────────────────────────────────── */
.gp-cms-footer-strip{background:#1a373a;color:#94a3b8;padding:28px 0;margin-top:0}
.gp-cms-footer-strip .container{max-width:1280px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));box-sizing:border-box}
.gp-cms-footer-title{color:#fff;font-size:18px;font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.gp-cms-footer-body{font-size:14px;line-height:1.7;margin-bottom:16px;color:#cbd5e1}
.gp-cms-footer-body a{color:var(--gp-accent)}
.gp-cms-footer-nav{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.gp-cms-footer-nav a{color:#94a3b8;text-decoration:none;font-size:14px;padding:6px 10px;border-radius:8px;transition:color .2s,background .2s}
.gp-cms-footer-nav a:hover{color:var(--gp-accent);background:rgba(255,255,255,.04)}
.gp-cms-footer-copy{font-size:13px;color:#64748b;margin:0;text-align:center;line-height:1.5}
@media (max-width:768px){
    .gp-cms-footer-strip{padding:24px 0}
    .gp-cms-footer-title{font-size:1.05rem;margin-bottom:10px}
    .gp-cms-footer-body{font-size:15px;line-height:1.6}
    .gp-cms-footer-nav{flex-direction:column;gap:2px;margin-bottom:14px}
    .gp-cms-footer-nav a{display:block;padding:12px 14px;font-size:15px;border-radius:10px}
}

/* ── Theme Footer ───────────────────────────────────────── */
.gp-footer{background:transparent;margin-top:auto}
.gp-footer-wave{line-height:0}
.gp-footer-wave svg{width:100%;height:60px;display:block}
.gp-footer-body{background:#214548;color:#cbd5e1;padding:22px 0;padding-bottom:max(22px,env(safe-area-inset-bottom,0px))}
.gp-footer-body .container{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));box-sizing:border-box}
.gp-footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  clear:both;
}

/* Footer Main Grid */
.gp-footer-main { padding-bottom: 24px; width: 100%; }
.gp-footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 28px 36px;
  width: 100%;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 24px;
  padding-bottom: 28px;
  align-items: start;
}

.gp-footer-col { display: flex; flex-direction: column; gap: 16px; }
.gp-footer-col--brand { min-width: 180px; }
.gp-footer { content-visibility: auto; contain-intrinsic-size: auto 500px; }
.gp-footer-brand-link { display: inline-block; text-decoration: none; }
.gp-footer-brand-text { margin: 0; }
.gp-footer-brand-img { max-width: 160px; max-height: 56px; width: auto; height: auto; object-fit: contain; filter: brightness(0) invert(1); opacity: 0.95; }
.gp-footer-heading { font-size: 16px; font-weight: 700; color: #fff; margin: 0; text-transform: uppercase; letter-spacing: 0.05em; }
.gp-footer-heading-link { color: inherit; text-decoration: none; }
.gp-footer-heading-link:hover { color: var(--gp-accent); }

.gp-footer-text { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; line-height: 1.6; color: #cbd5e1; }
.gp-footer-slot-icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,0.05); color: var(--gp-accent); flex-shrink: 0; }
.gp-footer-slot-icon-link { text-decoration: none; color: inherit; display: inline-flex; }
.gp-footer-slot-icon-link:hover .gp-footer-slot-icon { background: var(--gp-accent); color: #fff; }

.gp-footer-slot-body { flex: 1; color: #cbd5e1; font-weight: 400; }
.gp-footer-slot-body a { color: inherit; text-decoration: none; transition: color 0.2s; }
.gp-footer-slot-body a:hover { color: var(--gp-accent); }
.gp-footer-empty { color: #64748b; font-style: italic; }

/* Social Icons */
.gp-footer-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.gp-social-btn { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,0.08); color: #fff; text-decoration: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(255,255,255,0.05); }
.gp-social-btn:hover { background: var(--gp-accent); color: #fff; transform: translateY(-3px); box-shadow: 0 4px 12px rgba(0,0,0,0.2); border-color: var(--gp-accent); }
.gp-social-btn i { font-size: 16px; }
.gp-social-btn--disabled { opacity: 0.35; cursor: not-allowed; pointer-events: none; }
.gp-social-btn--disabled:hover { background: rgba(255,255,255,0.08); transform: none; box-shadow: none; border-color: rgba(255,255,255,0.05); }

.gp-copy{color:#94a3b8;font-size:14px;line-height:1.5; font-weight: 500; }
.gp-credit{color:#94a3b8;font-size:13px;text-decoration:none;transition:all .3s; padding: 4px 12px; border-radius: 6px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); }
.gp-credit:hover,.gp-credit:focus-visible{color:#fff; background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.15); }
@media (max-width:768px){
    .gp-footer-wave svg{height:44px}
    .gp-footer-body{padding:18px 0;padding-bottom:max(18px,calc(10px + env(safe-area-inset-bottom,0px)))}
    .gp-footer-body .container{padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px))}
    .gp-footer-grid{grid-template-columns:1fr;gap:22px}
    .gp-footer-bottom{flex-direction:column;text-align:center;gap:8px}
    .gp-copy,.gp-credit{font-size:13px}
    .gp-home-support-band{padding:22px 18px;margin-top:24px}
}
