/* Baskibu Designer 0.23.0-dev48 — Geometry v2 + Typography Studio v2 */

/* Geometry guides: production lines stay crisp and subordinate to the artwork. */
.bbd-pro-workspace-v0230-dev48 .lower-canvas,
.bbd-pro-workspace-v0230-dev48 .upper-canvas { image-rendering:auto; }
.bbd-pro-workspace-v0230-dev48 .bbd-guide-key,
.bbd-pro-workspace-v0230-dev48 [data-bbd-guide-key] { backdrop-filter:blur(10px); }

/* Replace dev47's single-font cards with real multi-layer typography compositions. */
.bbd-pro-workspace-v0230-dev48 .bbd-copy-studio-v47,
.bbd-type48-host .bbd-copy-studio-v47[hidden] { display:none !important; }
.bbd-type48-studio { margin:2px 0 22px; padding:0 1px 14px; }
.bbd-type48-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:4px 2px 10px; }
.bbd-type48-head strong { display:block; color:#101828; font-size:14px; font-weight:850; letter-spacing:-.025em; }
.bbd-type48-head small { display:block; margin-top:3px; color:#8a94a6; font-size:9.5px; font-weight:620; line-height:1.3; }
.bbd-type48-cats { display:flex; gap:6px; overflow-x:auto; padding:1px 2px 8px; margin-bottom:4px; scrollbar-width:none; }
.bbd-type48-cats::-webkit-scrollbar { display:none; }
.bbd-type48-cats button { flex:0 0 auto; min-height:30px; padding:0 11px; border:1px solid #e1e6ed; border-radius:999px; background:#fff; color:#667085; font-size:9.5px; font-weight:780; cursor:pointer; }
.bbd-type48-cats button[aria-pressed="true"] { border-color:#ffb89e; background:#fff3ee; color:#d9430b; box-shadow:0 3px 10px rgba(255,91,31,.08); }
.bbd-type48-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:1px 2px 10px; }
.bbd-type48-card { min-width:0; min-height:154px; display:grid; grid-template-rows:116px auto; overflow:hidden; padding:0; border:1px solid #e1e6ed; border-radius:14px; background:#fff; color:#101828; text-align:left; box-shadow:0 3px 10px rgba(15,23,42,.04); cursor:pointer; transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.bbd-type48-card:hover,.bbd-type48-card:focus-visible { transform:translateY(-2px); border-color:#ffab8b; box-shadow:0 14px 28px rgba(15,23,42,.11); outline:none; }
.bbd-type48-art { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; padding:11px 7px; overflow:hidden; background:#fff; color:#111827; text-align:center; }
.bbd-type48-card:nth-child(6n+2) .bbd-type48-art { background:#fff8f4; }
.bbd-type48-card:nth-child(6n+3) .bbd-type48-art { background:#f8fbff; }
.bbd-type48-card:nth-child(6n+4) .bbd-type48-art { background:#f7fff9; }
.bbd-type48-card:nth-child(6n+5) .bbd-type48-art { background:#fbf9ff; }
.bbd-type48-art b,.bbd-type48-art strong { display:block; max-width:100%; font-family:Manrope,sans-serif; font-size:21px; font-weight:850; line-height:.9; letter-spacing:-.045em; }
.bbd-type48-art i { display:block; font-family:"Dancing Script",cursive; font-size:27px; font-weight:700; line-height:.9; color:#e11d48; transform:rotate(-3deg); }
.bbd-type48-art em { display:inline-block; padding:3px 7px; background:#ffe600; color:#111827; font-family:Manrope,sans-serif; font-size:13px; font-style:normal; font-weight:850; letter-spacing:.04em; transform:rotate(-2deg); }
.bbd-type48-art small,.bbd-type48-art span { display:block; max-width:100%; color:#667085; font-family:Manrope,sans-serif; font-size:8px; font-weight:750; line-height:1.15; letter-spacing:.08em; }
.bbd-type48-art .p48-kicker { display:inline-block; padding:3px 6px; border-radius:999px; background:#111827; color:#fff; font-size:7px; letter-spacing:.12em; }
.bbd-type48-art .p48-shadow { color:#ff5b1f; text-shadow:4px 4px 0 #ffd4c4; }
.bbd-type48-art .p48-outline { color:#fff; -webkit-text-stroke:1.2px #dc2626; text-shadow:none; }
.bbd-type48-art .p48-arrow { color:#2563eb; font-size:30px; line-height:.8; }
.bbd-type48-art .p48-arch { width:88px; height:25px; color:#0f766e; font-size:8px; letter-spacing:.2em; transform:rotate(-9deg); }
.bbd-type48-art .p48-badge { width:72px; height:72px; display:grid; place-items:center; border:2px solid #ff5b1f; border-radius:50%; color:#111827; font-size:8px; letter-spacing:.08em; line-height:1; }
.bbd-type48-art .p48-badge b { color:#ff5b1f; font-size:18px; }
.bbd-type48-meta { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:6px; padding:8px 9px; border-top:1px solid #eef1f4; background:#fff; }
.bbd-type48-meta strong { min-width:0; overflow:hidden; color:#344054; font-size:9.5px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.bbd-type48-meta small { flex:0 0 auto; color:#98a2b3; font-size:7.5px; font-weight:700; }
.bbd-type48-empty { grid-column:1/-1; min-height:90px; display:grid; place-items:center; padding:14px; border:1px dashed #d0d5dd; border-radius:12px; color:#98a2b3; font-size:10px; text-align:center; }

/* Make the text composer feel like a quick input, not another competing library. */
.bbd-pro-workspace-v0230-dev48 .bbd-type48-host .bbd-type-composer { margin-bottom:10px !important; }
.bbd-pro-workspace-v0230-dev48 .bbd-type48-host .bbd-type-composer textarea { min-height:72px !important; }
.bbd-pro-workspace-v0230-dev48 .bbd-type48-host .bbd-search-field { margin-bottom:14px !important; }

@media (max-width:900px) {
  .bbd-type48-grid { grid-template-columns:1fr; }
  .bbd-type48-card { grid-template-rows:104px auto; min-height:142px; }
}
@media (prefers-reduced-motion:reduce) {
  .bbd-type48-card { transition:none !important; }
}

/* Preview fidelity: each card mirrors the editable composition rather than a generic font tile. */
.bbd-type48-card[data-type48-id="type48-opening-shadow"] .bbd-type48-art b { font-family:"Bebas Neue",sans-serif; font-size:25px; }
.bbd-type48-card[data-type48-id="type48-sale-highlight"] .bbd-type48-art b { font-family:Anton,sans-serif; color:#ff4b00; font-size:32px; }
.bbd-type48-card[data-type48-id="type48-script-mix"] .bbd-type48-art b { font-family:Montserrat,sans-serif; font-size:18px; letter-spacing:.02em; }
.bbd-type48-card[data-type48-id="type48-arch-brand"] .bbd-type48-art b { font-family:Manrope,sans-serif; font-size:25px; letter-spacing:.07em; }
.bbd-type48-card[data-type48-id="type48-fair"] .bbd-type48-art b { font-family:"Exo 2",sans-serif; font-size:21px; letter-spacing:.05em; }
.bbd-type48-card[data-type48-id="type48-realestate"] .bbd-type48-art strong { font-family:Montserrat,sans-serif; font-size:11px; letter-spacing:.05em; }
.bbd-type48-card[data-type48-id="type48-direction"] .bbd-type48-art b { font-family:Manrope,sans-serif; font-size:26px; letter-spacing:.05em; }
.bbd-type48-card[data-type48-id="type48-menu"] .bbd-type48-art i { font-family:"Playfair Display",serif; color:#92400e; font-size:18px; transform:none; }
.bbd-type48-card[data-type48-id="type48-menu"] .bbd-type48-art b { font-family:"League Spartan",sans-serif; color:#166534; font-size:22px; letter-spacing:.04em; }
.bbd-type48-card[data-type48-id="type48-menu"] .bbd-type48-art span { width:auto; padding:3px 8px; border-radius:999px; background:#166534; color:#fff; }
.bbd-type48-card[data-type48-id="type48-appointment"] .bbd-type48-art b { font-family:Montserrat,sans-serif; font-size:18px; line-height:.88; }
.bbd-type48-card[data-type48-id="type48-premium"] .bbd-type48-art b { font-family:"Cormorant Garamond",serif; font-size:27px; font-weight:700; letter-spacing:.05em; }
.bbd-type48-card[data-type48-id="type48-retro-badge"] .bbd-type48-art { color:#ff5b1f; }
.bbd-type48-card[data-type48-id="type48-social"] .bbd-type48-art b { font-family:Montserrat,sans-serif; color:#7c3aed; font-size:20px; }
.bbd-type48-card[data-type48-id="type48-auto"] .bbd-type48-art b { font-family:Anton,sans-serif; font-size:29px; }
.bbd-type48-card[data-type48-id="type48-auto"] .bbd-type48-art i { font-family:"Exo 2",sans-serif; color:#2563eb; font-size:18px; transform:rotate(-5deg); }
.bbd-type48-card[data-type48-id="type48-minimal"] .bbd-type48-art b { align-self:flex-start; margin-left:17px; font-family:Manrope,sans-serif; font-size:18px; line-height:.86; }
.bbd-type48-card[data-type48-id="type48-minimal"] .bbd-type48-art b:nth-of-type(2) { color:#ff5b1f; }
