/* Asiri Package Showcase - responsive fallback styles.
   v1.1.15: tablet image now follows the same desktop/laptop overlapping composition. */

.asiri-package-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
}

.asiri-package-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  background:#f9f9f9;
  border:1px solid #C9D3F4;
  box-sizing:border-box;
  isolation:isolate;
  transition:.3s ease;
}

.asiri-package-card-link{position:absolute;inset:0;z-index:5;}

.asiri-package-title-wrap{
  min-height:124px;
  padding:30px 31px 28px;
  border-bottom:1px dashed #C9D3F4;
  box-sizing:border-box;
}

.asiri-package-title{
  position:relative;
  z-index:3;
  display:block;
  max-width:88%;
  margin:0;
  color:#0036C7;
  font-family:Poppins,sans-serif;
  font-size:22px;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
  transition:color .3s ease;
}

.asiri-package-middle{
  position:relative;
  min-height:205px;
  padding:48px 0 56px 40px;
  box-sizing:border-box;
  overflow:visible;
}

.asiri-package-points-wrap{
  position:relative;
  z-index:3;
  width:36%;
  min-width:0;
  box-sizing:border-box;
}

.asiri-package-points{
  margin:0;
  padding:0;
  list-style:none;
  color:#0036C7;
  font-family:Poppins,sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:1.9;
  transition:color .3s ease;
}

.asiri-package-points li{position:relative;padding-left:12px;overflow-wrap:anywhere;}
.asiri-package-points li::before{content:'•';position:absolute;left:0;top:0;color:#0036C7;transition:color .3s ease;}

.asiri-package-image-wrap{
  position:absolute;
  z-index:2;
  top:-42px;
  right:0;
  width:58%;
  height:254px;
  overflow:hidden;
  background:#f4f4f4;
  box-sizing:border-box;
  display:block;
  line-height:0;
}

/* Lock the real thumbnail to the wrapper height so theme rules like img{height:auto}
   cannot create empty space. */
.asiri-package-image-wrap > img.asiri-package-image{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.08);
  transition:transform .4s ease;
}
.asiri-package-image-wrap .asiri-package-image{max-width:none;}
.asiri-package-image-placeholder{background:#f4f4f4;}

.asiri-package-cta-wrap{
  position:absolute;
  left:40px;
  bottom:10px;
  z-index:6;
  width:36%;
  max-height:0;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  padding:0;
  box-sizing:border-box;
  text-align:center;
  pointer-events:none;
  transition:max-height .3s ease,opacity .3s ease,visibility .3s ease;
}

.asiri-package-card:hover .asiri-package-cta-wrap,
.asiri-package-card:focus-within .asiri-package-cta-wrap{
  max-height:56px;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.asiri-package-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  color:#0036C7;
  font-family:Poppins,sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.2;
  transition:all .3s ease;
  pointer-events:auto;
}

.asiri-package-accent{
  position:relative;
  z-index:1;
  width:100%;
  height:7px;
  background:#0036C7;
  flex:none;
  transition:background-color .3s ease;
}

.asiri-package-description{
  min-height:112px;
  padding:31px 28px 24px;
  color:#7F7F7F;
  font-family:Poppins,sans-serif;
  font-size:12px;
  font-weight:300;
  line-height:1.45;
  text-align:center;
  overflow-wrap:anywhere;
  box-sizing:border-box;
  transition:color .3s ease,background-color .3s ease;
}

.asiri-package-card > *:not(.asiri-package-card-link):not(.asiri-package-cta-wrap){pointer-events:none;}

/* Laptop */
@media (min-width:1025px) and (max-width:1366px){
  .asiri-package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .asiri-package-title-wrap{min-height:112px;padding:26px 24px 24px;}
  .asiri-package-title{max-width:100%;}
  .asiri-package-middle{min-height:194px;padding:42px 0 52px 30px;}
  .asiri-package-points-wrap{width:38%;}
  .asiri-package-image-wrap{top:-38px;right:0;width:57%;height:232px;}
  .asiri-package-cta-wrap{left:30px;width:38%;bottom:8px;}
  .asiri-package-description{min-height:104px;padding:27px 22px 22px;}
}

/* Tablet / iPad
   Keep the same image composition used on desktop/laptop: image stays absolute
   on the right and overlaps upward from the middle area. Only the card grid
   becomes one column at tablet width. */
@media (min-width:768px) and (max-width:1024px){
  .asiri-package-grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .asiri-package-card{
    min-height:0;
    width:100%;
  }

  .asiri-package-title-wrap{
    min-height:112px;
    padding:26px 24px 24px;
  }

  .asiri-package-title{
    max-width:100%;
  }

  .asiri-package-middle{
    position:relative;
    display:block;
    min-height:194px;
    padding:42px 0 52px 30px;
    overflow:visible;
  }

  .asiri-package-points-wrap{
    position:relative;
    z-index:3;
    width:38%;
    min-width:0;
    padding:0;
  }

  .asiri-package-image-wrap{
    position:absolute;
    z-index:2;
    top:-38px;
    right:0;
    width:57%;
    height:232px;
    align-self:auto;
  }

  .asiri-package-image-wrap > img.asiri-package-image{
    object-fit:cover;
  }

  .asiri-package-cta-wrap{
    position:absolute;
    left:30px;
    bottom:8px;
    width:38%;
    padding:0;
  }

  .asiri-package-description{
    min-height:104px;
    padding:27px 22px 22px;
  }
}

/* Mobile */
@media (max-width:767px){
  .asiri-package-grid{grid-template-columns:1fr;gap:18px;}
  .asiri-package-card{min-height:0;width:100%;}
  .asiri-package-title-wrap{min-height:0;padding:22px 22px 20px;}
  .asiri-package-title{max-width:100%;}

  .asiri-package-middle{
    display:grid;
    grid-template-columns:minmax(0,42%) minmax(0,58%);
    align-items:stretch;
    min-height:190px;
    padding:0 0 48px;
    overflow:hidden;
  }

  .asiri-package-points-wrap{width:100%;min-width:0;padding:22px 16px 0 22px;}
  .asiri-package-image-wrap{position:relative;top:auto;right:auto;width:100%;height:210px;align-self:stretch;}
  .asiri-package-image-wrap > img.asiri-package-image{object-fit:cover;}
  .asiri-package-cta-wrap{left:22px;bottom:11px;width:calc(42% - 30px);padding:0;}
  .asiri-package-description{min-height:0;padding:23px 22px;}
  .asiri-package-accent{height:6px;}
}

/* Small phones - stack content so points never become cramped */
@media (max-width:480px){
  .asiri-package-title-wrap{padding:20px 18px 18px;}
  .asiri-package-middle{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;}
  .asiri-package-points-wrap{width:100%;padding:20px 18px 18px;}
  .asiri-package-image-wrap{order:2;position:relative;top:auto;right:auto;width:100%;height:220px;}
  .asiri-package-cta-wrap{position:relative;order:3;left:auto;bottom:auto;width:100%;max-height:none;opacity:1;visibility:visible;padding:14px 18px;text-align:left;pointer-events:auto;}
  .asiri-package-description{padding:21px 18px;}
}

/* Touch devices do not have a dependable hover state. Keep CTA usable. */
@media (hover:none) and (pointer:coarse){
  .asiri-package-cta-wrap{max-height:56px;opacity:1;visibility:visible;pointer-events:auto;}
  .asiri-package-card:hover{transform:none;}
}
