/*
 Theme Name:   HSAPK Child Kadence Theme V1
 Description:  HSAPK Child Kadence Theme V1 for Kadence — Android APK design, app directories, schema controls and download workflow.
 Author:       Hammad Shujra
 Author URI:   https://www.linkedin.com/in/hammadshujra/
 Template:     kadence
 Version:      1.0.0
 Tags:         customizable, modern, responsive-layout, gutenberg
 Text Domain:  kadencechild
*/

/* HSCloud maintains this HSAPK Child Kadence Theme. Legacy CSS/PHP identifiers are retained only for upgrade compatibility. */

/*
 * HSAPK Child Kadence Theme V1 — Kadence native Global Palette bridge.
 *
 * Kadence emits palette1..palette15 as native CSS variables. Every HSCloud
 * frontend token below resolves from those live variables. No PHP palette
 * parsing and no child-theme palette override is used.
 */
:root {
  /*
   * HSCloud v9.0 — one Kadence Global Palette contract.
   * No child-theme color scheme is installed here. These tokens only consume
   * the currently selected Kadence palette, so switching/editing a palette in
   * Customizer updates the complete frontend automatically.
   *
   *  1 Accent            6 Muted text        11 Success
   *  2 Accent hover      7 Card/soft surface 12 Information
   *  3 Heading text      8 On-accent/white   13 Danger/error
   *  4 Main text         9 Page background   14 Warning
   *  5 Secondary text   10 Soft accent       15 Rating/highlight
   */
  --hc-palette-1: var(--global-palette1);
  --hc-palette-2: var(--global-palette2);
  --hc-palette-3: var(--global-palette3);
  --hc-palette-4: var(--global-palette4);
  --hc-palette-5: var(--global-palette5);
  --hc-palette-6: var(--global-palette6);
  --hc-palette-7: var(--global-palette7);
  --hc-palette-8: var(--global-palette8);
  --hc-palette-9: var(--global-palette9);
  --hc-palette-10: var(--global-palette10);
  --hc-palette-11: var(--global-palette11);
  --hc-palette-12: var(--global-palette12);
  --hc-palette-13: var(--global-palette13);
  --hc-palette-14: var(--global-palette14);
  --hc-palette-15: var(--global-palette15);

  --so-accent: var(--hc-palette-1);
  --so-accent-alt: var(--hc-palette-2);
  --so-strongest: var(--hc-palette-3);
  --so-strong: var(--hc-palette-4);
  --so-medium: var(--hc-palette-5);
  --so-subtle: var(--hc-palette-6);
  --so-card: var(--hc-palette-7);
  --so-on-accent: var(--hc-palette-8);
  --so-page: var(--hc-palette-9);
  --so-accent-soft: var(--hc-palette-10);
  --so-success: var(--hc-palette-11);
  --so-info: var(--hc-palette-12);
  --so-alert: var(--hc-palette-13);
  --so-warning: var(--hc-palette-14);
  --so-rating: var(--hc-palette-15);

  /* Compatibility surface aliases used by existing components. */
  --so-bg-subtle: var(--so-card);
  --so-bg-lighter: color-mix(in srgb, var(--so-card) 72%, var(--so-page));
  --so-white: var(--so-card);

  /* Derived UI shades. Every input still comes from the live palette. */
  --so-border: color-mix(in srgb, var(--so-subtle) 28%, var(--so-card));
  --so-border-strong: color-mix(in srgb, var(--so-subtle) 44%, var(--so-card));
  --so-neutral-400: color-mix(in srgb, var(--so-subtle) 76%, var(--so-card));
  --so-neutral-700: color-mix(in srgb, var(--so-strong) 84%, var(--so-card));
  --so-neutral-800: color-mix(in srgb, var(--so-strongest) 90%, var(--so-card));

  --so-accent-soft-2: color-mix(in srgb, var(--so-accent) 18%, var(--so-card));
  --so-accent-border: color-mix(in srgb, var(--so-accent) 34%, var(--so-card));
  --so-accent-deep: color-mix(in srgb, var(--so-accent-alt) 78%, var(--so-strongest));

  --so-success-soft: color-mix(in srgb, var(--so-success) 16%, var(--so-card));
  --so-info-soft: color-mix(in srgb, var(--so-info) 12%, var(--so-card));
  --so-alert-soft: color-mix(in srgb, var(--so-alert) 12%, var(--so-card));
  --so-warning-soft: color-mix(in srgb, var(--so-warning) 16%, var(--so-card));
  --so-rating-soft: color-mix(in srgb, var(--so-rating) 20%, var(--so-card));
}


/* --------------------------------------------------------------------------
 * HSWare 4.1 — real WordPress Software/Blog Pages and mixed content archives.
 * The active APK layout body class scopes the app card renderer; these shared
 * layout rules keep directory behavior consistent.
 * -------------------------------------------------------------------------- */
.hsware-directory-page { min-height: 60vh; }
.hsware-directory-search { max-width: 760px; margin-top: 24px; }
.hsware-directory-layout { display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); gap: 30px; align-items: start; }
.hsware-directory-layout.no-sidebar { grid-template-columns: minmax(0, 1fr); }
.hsware-directory-sidebar { position: sticky; top: 28px; padding: 20px; border: 1px solid var(--so-border); border-radius: 18px; background: var(--so-white); }
.hsware-directory-sidebar h2 { margin: 0 0 14px; font-size: 18px; color: var(--so-strongest); }
.hsware-category-filter { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 12px; margin: 3px 0; border-radius: 10px; color: var(--so-medium); text-decoration: none; font-size: 14px; font-weight: 600; }
.hsware-category-filter:hover, .hsware-category-filter.is-active { color: var(--so-strongest); background: var(--so-bg-subtle); }
.hsware-category-filter.is-active { box-shadow: inset 3px 0 0 var(--so-accent); }
.hsware-category-filter b { min-width: 28px; padding: 2px 7px; border-radius: 999px; background: var(--so-bg-lighter); color: var(--so-subtle); text-align: center; font-size: 12px; }
.hsware-directory-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 0 20px; }
.hsware-directory-heading span { display: block; margin-bottom: 4px; color: var(--so-subtle); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.hsware-directory-heading h2 { margin: 0; color: var(--so-strongest); font-size: clamp(22px, 3vw, 30px); }
.hsware-directory-heading > a { color: var(--so-accent-alt); font-size: 13px; font-weight: 700; text-decoration: none; }
.hsware-directory-pagination { margin-top: 32px; }
.hsware-directory-copy .entry-content { max-width: 900px; }
.hsware-directory-copy .entry-content > :first-child { margin-top: 0; }
.hsware-directory-copy .entry-content > :last-child { margin-bottom: 0; }

.hsware-blog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.hsware-blog-card { overflow: hidden; border: 1px solid var(--so-border); border-radius: 18px; background: var(--so-white); box-shadow: 0 8px 30px color-mix(in srgb, var(--so-strongest) 5%, transparent); }
.hsware-blog-thumb { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--so-bg-subtle); }
.hsware-blog-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.hsware-blog-card:hover .hsware-blog-thumb img { transform: scale(1.025); }
.hsware-blog-card-body { padding: 22px; }
.hsware-blog-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 10px; color: var(--so-subtle); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.hsware-blog-card h2 { margin: 0 0 10px; font-size: clamp(19px, 2.3vw, 24px); line-height: 1.25; }
.hsware-blog-card h2 a { color: var(--so-strongest); text-decoration: none; }
.hsware-blog-card p { margin: 0 0 16px; color: var(--so-medium); line-height: 1.7; }
.hsware-blog-read { color: var(--so-accent-alt); font-weight: 800; text-decoration: none; }
.hsware-blog-read span { display: inline-block; transition: transform .2s ease; }
.hsware-blog-read:hover span { transform: translateX(3px); }
.hsware-mixed-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.hsware-mixed-grid .hsware-blog-card { grid-column: span 1; }

.softorbit-apk-layout-one .hsware-directory-sidebar,
.softorbit-apk-layout-one .hsware-blog-card { border-radius: 24px; }
.softorbit-apk-layout-one .hsware-directory-sidebar { box-shadow: 0 12px 36px color-mix(in srgb, var(--so-strongest) 6%, transparent); }

@media (max-width: 980px) {
  .hsware-directory-layout { grid-template-columns: 1fr; }
  .hsware-directory-sidebar { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .hsware-directory-sidebar h2 { grid-column: 1 / -1; }
  .hsware-mixed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .hsware-directory-sidebar { grid-template-columns: 1fr; }
  .hsware-blog-grid, .hsware-mixed-grid { grid-template-columns: 1fr; }
  .hsware-directory-heading { align-items: flex-start; flex-direction: column; }
  .hsware-blog-card-body { padding: 18px; }
}


/* HSWare 4.3 — Blog cards + homepage Blog section. */
.hsware-blog-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  border-radius: 16px;
  box-shadow: 0 4px 18px color-mix(in srgb, var(--so-strongest) 5%, transparent);
}
.hsware-blog-thumb { flex: 0 0 auto; }
.hsware-blog-ratio-16-9 .hsware-blog-thumb { aspect-ratio: 16 / 9; }
.hsware-blog-ratio-4-3 .hsware-blog-thumb { aspect-ratio: 4 / 3; }
.hsware-blog-ratio-3-2 .hsware-blog-thumb { aspect-ratio: 3 / 2; }
.hsware-blog-ratio-1-1 .hsware-blog-thumb { aspect-ratio: 1 / 1; }
.hsware-blog-card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 18px;
}
.hsware-blog-card h2 {
  margin: 0 0 9px;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.32;
  letter-spacing: -.015em;
}
.hsware-blog-card p {
  display: -webkit-box;
  margin: 0 0 14px;
  overflow: hidden;
  color: var(--so-medium);
  font-size: 13px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.hsware-blog-meta {
  order: 3;
  margin: auto 0 12px;
  padding-top: 12px;
  border-top: 1px solid var(--so-border);
  color: var(--so-subtle);
  font-size: 10.5px;
  letter-spacing: .035em;
}
.hsware-blog-read {
  order: 4;
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid var(--so-border-strong);
  border-radius: 9px;
  background: var(--so-bg-lighter);
  color: var(--so-strongest) !important;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
}
.hsware-blog-read:hover,
.hsware-blog-read:focus {
  border-color: var(--so-strongest);
  background: var(--so-strongest);
  color: var(--so-on-accent) !important;
}
.hsware-home-blog-section {
  border-top: 1px solid var(--so-border);
  background: var(--so-white);
}
.hsware-home-blog-head {
  align-items: end;
}
.hsware-home-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.hsware-home-blog-section .hsware-blog-thumb {
  max-height: 220px;
}
.hsware-home-blog-section .hsware-blog-card-body {
  padding: 16px;
}
.hsware-home-blog-section .hsware-blog-card h2 {
  font-size: 18px;
}
.hsware-home-blog-viewall {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  border: 1px solid var(--so-border-strong);
  border-radius: 9px;
  color: var(--so-strongest) !important;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none !important;
}
.hsware-home-blog-viewall:hover {
  border-color: var(--so-strongest);
  background: var(--so-strongest);
  color: var(--so-on-accent) !important;
}
.hsware-home-blog-viewall svg { width: 14px; height: 14px; }
@media (max-width: 980px) {
  .hsware-home-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .hsware-home-blog-grid { grid-template-columns: 1fr; }
  .hsware-home-blog-head { align-items: flex-start; }
  .hsware-home-blog-viewall { margin-top: 4px; }
}


/* HSWare 4.4 — Homepage Blog display controls. */
.hsware-home-blog-grid.hsware-home-blog-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hsware-home-blog-grid.hsware-home-blog-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hsware-home-blog-grid.hsware-home-blog-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hsware-blog-card.is-image-hidden .hsware-blog-card-body { padding-top: 20px; }
.hsware-blog-card .hsware-blog-read:last-child { margin-top: auto; }
@media (max-width: 1100px) {
  .hsware-home-blog-grid.hsware-home-blog-columns-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .hsware-home-blog-grid.hsware-home-blog-columns-2,
  .hsware-home-blog-grid.hsware-home-blog-columns-3,
  .hsware-home-blog-grid.hsware-home-blog-columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .hsware-home-blog-grid.hsware-home-blog-columns-2,
  .hsware-home-blog-grid.hsware-home-blog-columns-3,
  .hsware-home-blog-grid.hsware-home-blog-columns-4 { grid-template-columns: 1fr; }
}

/* HSCloud V1.6 — native Ad Inserter compatibility surface.
 * These rules deliberately avoid styling the advert itself. They only prevent
 * custom HSCloud grids/panels from collapsing or clipping normal responsive
 * AdSense/Ad Inserter output. */
.hscloud-ad-anchor{
  display:block!important;
  width:100%!important;
  height:0!important;
  min-height:0!important;
  clear:both!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.hscloud-ad-slot{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  clear:both!important;
  margin:24px auto!important;
  overflow:visible!important;
  text-align:center!important;
  box-sizing:border-box!important;
  isolation:auto!important;
}
.hscloud-ad-slot:empty{display:none!important;margin:0!important}
.hscloud-ad-slot ins.adsbygoogle{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.hscloud-ad-slot iframe{
  max-width:100%!important;
}
.hc-v92-sidebar .hscloud-ad-slot,
.hc-cat-sidebar .hscloud-ad-slot,
.hc-allcat-sidebar .hscloud-ad-slot,
.hc-single-sidebar .hscloud-ad-slot{
  margin:0 0 16px!important;
}
@media (max-width:767px){
  .hscloud-ad-slot{margin:18px auto!important}
}
