/* Block builder — public-side block styles
   Loaded from _header.php. Keep additive to avoid clashing with style.css. */

/* ----- text ----- */
.bb-text { max-width:1080px; margin:40px auto; padding:0 16px; line-height:1.7; }
.bb-text__title { font-size:26px; font-weight:700; margin:0 0 14px; }
.bb-text__body { font-size:16px; color:#333; }

/* ----- hero ----- */
.bb-hero {
    position:relative;
    min-height:380px;
    background-size:cover;
    background-position:center;
    background-color:#1a1a1a;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.bb-hero::before {
    content:'';
    position:absolute; inset:0;
    background:rgba(0,0,0,0.35);
}
.bb-hero__inner { position:relative; padding:60px 20px; max-width:900px; }
.bb-hero__title { font-size:40px; font-weight:800; margin:0 0 14px; line-height:1.2; }
.bb-hero__sub { font-size:18px; opacity:0.9; margin:0 0 24px; }
.bb-hero__btn {
    display:inline-block;
    padding:12px 28px;
    background:#fff;
    color:#1a1a1a;
    border-radius:4px;
    font-weight:600;
    text-decoration:none;
    transition:transform .15s ease;
}
.bb-hero__btn:hover { transform:translateY(-1px); }

/* ----- cards (3단) ----- */
.bb-cards { max-width:1200px; margin:48px auto; padding:0 16px; }
.bb-cards__grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
}
@media (max-width:900px)  { .bb-cards__grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px)  { .bb-cards__grid { grid-template-columns:1fr; } }
.bb-cards__item { background:#fff; border:1px solid #eee; border-radius:6px; overflow:hidden; }
.bb-cards__img { width:100%; aspect-ratio:16/10; background-size:cover; background-position:center; background-color:#f4f4f4; }
.bb-cards__title { font-size:18px; font-weight:700; margin:16px 16px 8px; }
.bb-cards__body { font-size:14px; color:#555; line-height:1.6; margin:0 16px 12px; }
.bb-cards__link { display:inline-block; margin:0 16px 16px; font-size:13px; color:#3a86ff; text-decoration:none; }
.bb-cards__link:hover { text-decoration:underline; }

/* ----- cta ----- */
.bb-cta { color:#fff; }
.bb-cta__inner { max-width:1080px; margin:0 auto; padding:50px 20px; text-align:center; }
.bb-cta__title { font-size:28px; font-weight:700; margin:0 0 8px; }
.bb-cta__sub { font-size:16px; opacity:0.9; margin:0 0 22px; }
.bb-cta__btn { display:inline-block; padding:12px 30px; background:#fff; color:#222; border-radius:4px; font-weight:600; text-decoration:none; }
.bb-cta__btn:hover { background:#f0f0f0; }

/* ----- imageText ----- */
.bb-itext { padding:48px 16px; }
.bb-itext__inner {
    max-width:1200px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center;
}
.bb-itext--right .bb-itext__inner { grid-template-columns:1fr 1fr; }
.bb-itext--right .bb-itext__media { order:2; }
@media (max-width:760px) {
    .bb-itext__inner, .bb-itext--right .bb-itext__inner { grid-template-columns:1fr; }
    .bb-itext--right .bb-itext__media { order:0; }
}
.bb-itext__media img { max-width:100%; height:auto; border-radius:6px; display:block; }
.bb-itext__title { font-size:24px; font-weight:700; margin:0 0 12px; }
.bb-itext__text { font-size:15px; color:#444; line-height:1.7; margin:0 0 18px; }
.bb-itext__btn { display:inline-block; padding:10px 22px; background:#222; color:#fff; border-radius:4px; font-weight:600; text-decoration:none; }
.bb-itext__btn:hover { background:#000; }

/* ----- gallery ----- */
.bb-gallery { max-width:1200px; margin:48px auto; padding:0 16px; }
.bb-gallery__grid { display:grid; gap:10px; }
.bb-gallery__grid--c2 { grid-template-columns:repeat(2, 1fr); }
.bb-gallery__grid--c3 { grid-template-columns:repeat(3, 1fr); }
.bb-gallery__grid--c4 { grid-template-columns:repeat(4, 1fr); }
@media (max-width:760px) {
    .bb-gallery__grid--c3, .bb-gallery__grid--c4 { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:480px) {
    .bb-gallery__grid--c2, .bb-gallery__grid--c3, .bb-gallery__grid--c4 { grid-template-columns:1fr; }
}
.bb-gallery__item { display:block; aspect-ratio:1/1; overflow:hidden; border-radius:4px; background:#f0f0f0; }
.bb-gallery__item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.bb-gallery__item:hover img { transform:scale(1.04); }
