/*========================================================
  Blog theme — diselaraskan dengan tema landing page
  (memakai variabel warna & class yang sama dari style.css:
  --brand-dark, --brand-mid, --brand-light, --brand-accent)
=========================================================*/

body.blog-body{
  background: #ffffff;
  color: #4a4d57;
}

/*========================================================
  Site nav (versi ringkas untuk halaman blog — selalu solid,
  tidak transparan seperti di atas video hero landing page)
=========================================================*/
.site-nav.blog-nav{
  background: rgba(0, 20, 46, 0.97);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}
.site-nav_menu a.is-active{
  color: var(--brand-accent);
}
.site-nav_menu a.is-active::after{
  width: 100%;
}

/*========================================================
  Footer columns — dipindah ke public/css/style.css supaya satu
  sumber untuk semua halaman. Dulu ada salinan di sini yang beda
  dikit (max-width 260px, tanpa aturan sembunyikan kolom Layanan/
  Perusahaan di mobile) dan karena file ini dimuat SETELAH style.css
  di <head>, salinan lama ini selalu menang dan bikin perubahan di
  style.css kelihatan "tidak ngaruh". Jangan tambah CSS footer di
  sini lagi — edit di style.css.
=========================================================*/

/*========================================================
  Blog index — masthead
=========================================================*/
.blog-masthead{
  background: linear-gradient(180deg, rgba(0, 20, 46, 0.55) 0%, rgba(0, 20, 46, 0.85) 100%), url("../images/parallax.jpg") center center/cover no-repeat;
  padding: 70px 0 70px;
  color: #fff;
  position: relative;
}
.blog-masthead .container{
  max-width: 1200px;
  position: relative;
  z-index: 2;
}
.blog-masthead .eyebrow{
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12.5px;
  color: var(--brand-accent);
  font-weight: 700;
  margin: 0 0 14px;
}
.blog-masthead h1{
  color: #fff;
  text-transform: none;
  letter-spacing: normal;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.15;
  margin: 0 0 14px;
}
.blog-masthead p{
  color: rgba(255,255,255,.78);
  font-size: 16px;
  line-height: 1.7;
  max-width: 580px;
  margin: 0;
}

/*========================================================
  Blog index — card grid
=========================================================*/
.blog-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 20px 40px;
}
.post-card{
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #eceef2;
  box-shadow: 0 10px 30px -18px rgba(0,34,76,.18);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
  display: flex;
  flex-direction: column;
}
.post-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 40px -16px rgba(0,34,76,.28);
}
.post-card_thumb{
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, var(--brand-light), var(--brand-dark));
  overflow: hidden;
}
.post-card_thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.post-card:hover .post-card_thumb img{
  transform: scale(1.08);
}
.post-card_body{
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.post-card_meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.post-card_date{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--brand-light);
}
.post-card_likes{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  font-size: 12.5px;
  font-weight: 700;
  color: #9aa5b5;
}
.post-card_likes svg{
  color: var(--brand-accent);
}
.post-card_title{
  font-size: 19px;
  line-height: 1.4;
  margin: 10px 0 10px;
  color: #1a2233;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 700;
  transition: color .2s ease;
}
.post-card:hover .post-card_title{
  color: var(--brand-light);
}
.post-card_excerpt{
  font-size: 14.5px;
  line-height: 1.65;
  color: #6b7280;
  margin: 0 0 18px;
  flex: 1;
}
.post-card_readmore{
  font-size: 13.5px;
  font-weight: 700;
  color: var(--brand-accent);
  text-transform: uppercase;
  letter-spacing: .04em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap .2s ease;
}
.post-card:hover .post-card_readmore{
  gap: 10px;
}

.blog-empty{
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 20px 110px;
  text-align: center;
  color: #808289;
  font-size: 15px;
}

.pagination-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 20px 90px;
}
.pagination-wrap nav{
  font-family: "Ubuntu", sans-serif;
}
.pagination-wrap a,
.pagination-wrap span{
  font-family: inherit;
}
.pagination-wrap a:hover{
  color: var(--brand-accent) !important;
}
.pagination-wrap [aria-current="page"] span{
  background: var(--brand-light) !important;
  border-color: var(--brand-light) !important;
}

/*========================================================
  Blog show — article masthead & content
=========================================================*/
.article-masthead{
  background: linear-gradient(180deg, rgba(0, 20, 46, 0.55) 0%, rgba(0, 20, 46, 0.85) 100%), url("../images/parallax.jpg") center center/cover no-repeat;
  padding: 90px 0 90px;
  color: #fff;
  position: relative;
}
.article-masthead .container{
  max-width: 900px;
  position: relative;
  z-index: 2;
}
.article-masthead .back-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.75);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 26px;
  transition: color .2s ease, transform .2s ease;
}
.article-masthead .back-link:hover{
  color: #fff;
  transform: translateX(-3px);
}
.article-masthead .post-date{
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--brand-accent);
}
.article-masthead h1{
  color: #fff;
  text-transform: none;
  letter-spacing: normal;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.25;
  max-width: 820px;
  margin: 14px 0 0;
}
.article-cover{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}
.article-cover img{
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 18px;
  margin-top: -50px;
  box-shadow: 0 24px 50px -20px rgba(0,34,76,.35);
  position: relative;
  z-index: 2;
  display: block;
}
.share-likes{
  max-width: 760px;
  margin: 0 auto;
  padding: 22px 20px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.share-likes_share{
  display: flex;
  align-items: center;
  gap: 12px;
}
.share-likes_label{
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #808289;
}
.share-buttons{
  display: flex;
  align-items: center;
  gap: 8px;
}
.share-btn{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.share-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 18px -8px rgba(0,34,76,.4);
}
.share-btn--facebook{ background: #1877f2; }
.share-btn--whatsapp{ background: #25d366; }
.share-btn--telegram{ background: #29a9eb; }
.share-btn--linkedin{ background: #0a66c2; }
.share-btn--x{ background: #111; }
.share-btn--copy{ background: #808289; position: relative; }
.share-btn--copy::after{
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: #1a2233;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 9px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}
.share-btn--copy:hover::after{
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.share-btn--copy.is-copied::after{
  content: 'Tersalin!';
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.like-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px solid #eceef2;
  color: #1a2233;
  font-weight: 700;
  font-size: 14px;
  padding: 9px 18px;
  border-radius: 30px;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.like-btn:hover{
  border-color: var(--brand-accent);
  color: var(--brand-accent);
}
.like-btn_icon{
  transition: transform .2s ease, fill .2s ease;
}
.like-btn.is-liked{
  border-color: var(--brand-accent);
  background: rgba(245, 48, 3, .06);
  color: var(--brand-accent);
  cursor: default;
}
.like-btn.is-liked .like-btn_icon{
  fill: var(--brand-accent);
  stroke: var(--brand-accent);
  transform: scale(1.1);
}
@media (max-width: 767px){
  .share-likes{
    justify-content: flex-start;
  }
}

.article-content{
  max-width: 760px;
  margin: 50px auto 10px;
  padding: 0 20px;
  font-size: 17px;
  line-height: 1.85;
  color: #33394a;
}
.article-content p{
  margin: 0 0 22px;
}
.related-wrap{
  max-width: 960px;
  margin: 30px auto 0;
  padding: 30px 20px 90px;
}
.related-wrap h3{
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #808289;
  margin: 30px 0 20px;
  border-top: 1px solid #eceef2;
  padding-top: 34px;
}
.related-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}
.related-card{
  background: #fff;
  border: 1px solid #eceef2;
  border-radius: 14px;
  overflow: hidden;
  display: block;
  box-shadow: 0 10px 24px -18px rgba(0,34,76,.18);
  transition: border-color .2s ease, box-shadow .25s ease, transform .25s ease;
}
.related-card:hover{
  border-color: var(--brand-accent);
  box-shadow: 0 16px 32px -16px rgba(0,34,76,.26);
  transform: translateY(-4px);
}
.related-card_thumb{
  aspect-ratio: 16/9;
  background: linear-gradient(135deg, var(--brand-light), var(--brand-dark));
  overflow: hidden;
}
.related-card_thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.related-card:hover .related-card_thumb img{
  transform: scale(1.08);
}
.related-card_body{
  padding: 16px 18px;
}
.related-card_title{
  font-weight: 700;
  font-size: 14.5px;
  line-height: 1.4;
  color: #1a2233;
  display: block;
  transition: color .2s ease;
}
.related-card:hover .related-card_title{
  color: var(--brand-light);
}

@media (max-width: 767px){
  .blog-masthead,
  .article-masthead{
    padding-top: 60px;
  }
  .article-cover img{
    margin-top: -32px;
    max-height: 240px;
  }
}

/*========================================================
  Halaman "Tentang Asa Production" (about.blade.php)
  Memakai variabel warna & pola komponen yang sama dengan
  blog-masthead, post-card, dsb agar terasa satu tema.
=========================================================*/
.about-masthead{
  background: linear-gradient(180deg, rgba(0, 20, 46, 0.55) 0%, rgba(0, 20, 46, 0.85) 100%), url("../images/parallax.jpg") center center/cover no-repeat;
  padding: 80px 0 80px;
  color: #fff;
  position: relative;
}
.about-masthead .container{
  max-width: 900px;
  position: relative;
  z-index: 2;
}
.about-masthead .eyebrow{
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12.5px;
  color: var(--brand-accent);
  font-weight: 700;
  margin: 0 0 14px;
}
.about-masthead h1{
  color: #fff;
  text-transform: none;
  letter-spacing: normal;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.2;
  margin: 0 0 16px;
}
.about-masthead p{
  color: rgba(255,255,255,.82);
  font-size: 16px;
  line-height: 1.7;
  max-width: 640px;
  margin: 0;
}

.about-section{
  max-width: 1100px;
  margin: 0 auto;
  padding: 70px 20px;
}
.about-section + .about-section{
  padding-top: 0;
}
.about-section_eyebrow{
  display: block;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12.5px;
  color: var(--brand-light);
  font-weight: 700;
  margin: 0 0 10px;
}
.about-section h2{
  text-align: left;
  margin: 0 0 18px;
  font-size: clamp(22px, 3vw, 30px);
  color: #1a2233;
}
.about-section--center{
  text-align: center;
}
.about-section--center .about-section_eyebrow,
.about-section--center h2{
  text-align: center;
}
.about-section p{
  color: #6b7280;
  font-size: 15.5px;
  line-height: 1.75;
  max-width: 760px;
}

/* Breadcrumb — style dipindah & digabung langsung ke dalam
   resources/views/partials/breadcrumb.blade.php (self-contained,
   sama seperti pola partials/site-nav.blade.php) supaya tidak ada
   dua sumber definisi untuk komponen yang sama. Jangan tambahkan
   aturan .breadcrumb-nav di sini lagi. */

/* Who we are — foto + teks berdampingan */
.about-hero-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  align-items: center;
}
.about-hero-grid .about-photo{
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 4/3;
  box-shadow: 0 20px 45px -22px rgba(0,34,76,.35);
}
.about-hero-grid .about-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px){
  .about-hero-grid{
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Founder / Team */
.team-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 340px));
  justify-content: center;
  gap: 28px;
  margin-top: 8px;
}
.team-card{
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #eceef2;
  box-shadow: 0 10px 30px -18px rgba(0,34,76,.18);
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
  text-align: center;
}
.team-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 40px -16px rgba(0,34,76,.28);
}
.team-card_photo{
  aspect-ratio: 1/1;
  max-height: 340px;
  background: linear-gradient(135deg, var(--brand-light), var(--brand-dark));
  overflow: hidden;
}
.team-card_photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.team-card_body{
  padding: 22px 18px 26px;
}
.team-card_name{
  font-size: 16.5px;
  font-weight: 700;
  margin: 0 0 4px;
  background: linear-gradient(135deg, var(--brand-light), var(--brand-accent));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--brand-light); /* fallback kalau browser tidak dukung background-clip:text */
}
.team-card_role{
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--brand-accent);
  margin: 0 0 12px;
}
.team-card_quote{
  font-size: 13.5px;
  line-height: 1.6;
  color: #8a8f9c;
  font-style: italic;
  margin: 0;
}

/* Info perusahaan (alamat, telp, email) */
.about-info-card{
  background: #f6f8fb;
  border-radius: 18px;
  padding: 34px 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  margin-top: 8px;
}
.about-info-item h4{
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  color: var(--brand-light);
  margin: 0 0 8px;
}
.about-info-item p{
  margin: 0;
  color: #4a4d57;
  font-size: 14.5px;
  line-height: 1.6;
}

@media (max-width: 767px){
  .about-masthead{
    padding-top: 60px;
  }
  .about-section{
    padding: 50px 20px;
  }
}

/*========================================================
  Halaman "Kontak" (contact.blade.php)
  Layout: kiri grid 2x2 kartu info (ikon outline biru,
  background abu muda), kanan form pesan.
  Referensi: kreasiai.com/kontak, warna & komponen mengikuti
  tema navy/gold Asa Production.
=========================================================*/
.contact-masthead{
  background: linear-gradient(180deg, rgba(0, 20, 46, 0.55) 0%, rgba(0, 20, 46, 0.85) 100%), url("../images/parallax.jpg") center center/cover no-repeat;
  padding: 70px 0 70px;
  color: #fff;
  position: relative;
}
.contact-masthead .container{
  max-width: 900px;
  position: relative;
  z-index: 2;
}
.contact-masthead .eyebrow{
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12.5px;
  color: var(--brand-accent);
  font-weight: 700;
  margin: 0 0 14px;
}
.contact-masthead h1{
  color: #fff;
  text-transform: none;
  letter-spacing: normal;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.2;
  margin: 0 0 14px;
}
.contact-masthead p{
  color: rgba(255,255,255,.8);
  font-size: 16px;
  line-height: 1.7;
  max-width: 600px;
  margin: 0;
}

.contact-wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 20px 90px;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 28px;
  align-items: start;
}
.contact-info-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.contact-info-card{
  background: #f4f6fb;
  border-radius: 16px;
  padding: 28px 24px;
}
.contact-info-card_icon{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-light);
  background: #fff;
  margin-bottom: 18px;
}
.contact-info-card h3{
  text-align: left;
  margin: 0 0 10px;
  font-size: 18px;
  color: #1a2340;
  text-transform: none;
  letter-spacing: normal;
}
.contact-info-card p{
  margin: 0;
  color: #6b7280;
  font-size: 14.5px;
  line-height: 1.65;
}

.contact-form-card{
  background: #fff;
  border: 1px solid #eceef2;
  border-radius: 18px;
  padding: 34px;
  box-shadow: 0 20px 45px -30px rgba(0,34,76,.25);
}
.contact-form-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.contact-form-card label{
  display: none;
}
.contact-form-card input,
.contact-form-card textarea{
  width: 100%;
  border: 1px solid #e2e5ec;
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 14.5px;
  font-family: inherit;
  color: #1a2340;
  background: #fbfcfe;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.contact-form-card input:focus,
.contact-form-card textarea:focus{
  outline: none;
  border-color: var(--brand-light);
  box-shadow: 0 0 0 3px rgba(0,81,181,.12);
  background: #fff;
}
.contact-form-card textarea{
  resize: vertical;
  min-height: 160px;
}
.contact-form-field{
  margin-bottom: 16px;
}
.contact-form-alert{
  background: #eaf7ee;
  border: 1px solid #bfe6c9;
  color: #1c7a3c;
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 14px;
  margin-bottom: 20px;
}
.contact-form-errors{
  background: #fdecec;
  border: 1px solid #f3b8b8;
  color: #b3261e;
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 13.5px;
  margin-bottom: 20px;
}
.contact-form-errors ul{
  margin: 0;
  padding-left: 18px;
}

@media (max-width: 900px){
  .contact-wrap{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px){
  .contact-info-grid{
    grid-template-columns: 1fr;
  }
  .contact-form-row{
    grid-template-columns: 1fr;
  }
  .contact-masthead{
    padding-top: 60px;
  }
}

/* Tombol ukuran kecil untuk konteks non-hero (form, kartu, dsb) — dipindah
   dari home.blade.php supaya bisa dipakai di halaman lain (kontak, dll). */
.btn-sm{
  padding: 11px 22px;
  font-size: 14px;
  letter-spacing: .04em;
}
.contact-form-submit{
  min-width: 320px;
  text-align: center;
}
@media (max-width: 480px){
  .contact-form-submit{
    min-width: 100%;
  }
}
