@font-face {
    font-family: GreetingBangla;
    src: url("../assets/fonts/news-bangla.woff2") format("woff2");
    font-display: swap;
}
.greeting-studio { width: min(100%, 1160px); margin: 24px auto 48px; }
.greeting-studio :is(h1, h2) { margin: 0 0 16px; }
.greeting-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 4vw, 40px); align-items: start; }
.greeting-studio :is(.greeting-fields,.greeting-preview) {
    display: grid; gap: 12px; min-width: 0; padding: clamp(14px, 2vw, 24px);
    border: 1px solid #8885; border-radius: 14px; background: Canvas; color: CanvasText;
}
.greeting-fields label { display: block; }
.greeting-studio :is(input:not([type="hidden"],[type="checkbox"]), select, textarea) {
    box-sizing: border-box; display: block; width: 100%; max-width: 100%; margin: 4px 0;
    border: 1px solid #8888; border-radius: 6px; padding: 8px;
    font: inherit; color: inherit; background: transparent;
}
.greeting-studio input[type="color"] { min-height: 40px; padding: 3px; }
.greeting-fields fieldset { min-width: 0; margin: 0; border: 1px solid #8885; border-radius: 8px; padding: 12px; }
.greeting-fields fieldset[hidden], .greeting-preview [hidden] { display: none; }
.greeting-preview canvas { width: 100%; height: auto; display: block; border-radius: 8px; }
.greeting-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; }
.greeting-actions a { border: 1px solid #8888; padding: 6px 10px; border-radius: 7px; }
.greeting-actions a[aria-current] { font-weight: bold; text-decoration: underline; }
.greeting-studio .greeting-button { width: fit-content; max-width: 100%; border: 0; border-radius: 7px; background: #8c171c; color: #fff; padding: 9px 15px; cursor: pointer; }
.greeting-studio .greeting-button:disabled { opacity: .5; cursor: default; }
.greeting-studio .greeting-danger { margin-top: 16px; }
.greeting-layer { border: 1px solid #8885; border-radius: 8px; padding: 10px; }
.greeting-layer summary { cursor: pointer; }
.greeting-setting-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
@media (max-width: 720px) {
    .greeting-grid { grid-template-columns: minmax(0,1fr); }
}
.greeting-studio input[type="checkbox"] { width: auto; }
.greeting-studio textarea { min-height: 70px; }
.greeting-studio .greeting-actions label { margin: 0; }
@media (min-width: 721px) {
    .greeting-studio:has([data-admin-fields]) .greeting-preview { position: sticky; top: 16px; }
}

.greeting-hero {
    text-align: center; padding: clamp(24px, 5vw, 54px) 16px; margin-bottom: 16px;
    border: 1px solid #e9bc73; border-radius: 20px; color: #fff9ef;
    background: radial-gradient(ellipse at top, #ca3847, transparent 70%), linear-gradient(125deg, #591428, #9b192c 54%, #45101e);
    box-shadow: inset 0 0 0 5px #f9dd9629;
}
.greeting-hero h1 { margin: 8px 0; font-size: clamp(25px, 4vw, 47px); line-height: 1.25; color: inherit; }
.greeting-hero p { margin: 0; }
.greeting-eyebrow { font-size: .9rem; font-weight: 700; color: #ae5028; letter-spacing: .04em; }
.greeting-hero .greeting-eyebrow { color: #ffdda2; }
.greeting-maker { grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: 16px; }
.greeting-maker .greeting-fields, .greeting-maker .greeting-preview { box-shadow: 0 12px 38px #7c173111; }
.greeting-studio .greeting-upload {
    display: grid; justify-items: center; gap: 6px; padding: 20px 12px; text-align: center;
    border: 2px dashed #e5a36b; border-radius: 12px; cursor: pointer;
    background: linear-gradient(140deg, #a42336, #70203c); color: white;
}
.greeting-upload span { font-size: 2rem; line-height: 1; }
.greeting-upload input::file-selector-button { border: 0; border-radius: 5px; padding: 5px 8px; }
.greeting-preview-layout, .greeting-admin-workspace, .greeting-admin-grid {
    display: grid; gap: 12px; align-items: start; min-width: 0;
}
.greeting-preview-layout { grid-template-columns: minmax(0, 1fr) minmax(132px, 30%); }
.greeting-preview-layout fieldset { min-width: 0; padding: 8px; border: 1px solid #8886; border-radius: 10px; }
.greeting-preview-layout label { display: block; }
.greeting-direction { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
.greeting-direction button {
    min-height: 34px; padding: 3px; border: 0; border-radius: 6px;
    background: #a92138; color: white; font-size: 1.2rem; cursor: pointer;
}
.greeting-direction button:first-child { grid-column: 2; }
.greeting-direction button:nth-child(2) { grid-column: 1; }
.greeting-direction button:last-child { grid-column: 2; }
.greeting-admin-grid { grid-template-columns: minmax(240px, .82fr) minmax(0, 1.65fr); }
.greeting-admin-workspace { grid-template-columns: minmax(0, 1fr) minmax(210px, .85fr); }
.greeting-studio .greeting-position-panel { padding: 12px; }
.greeting-position-panel h2 { margin: 0; font-size: 1rem; }
.greeting-writer-settings { border: 1px solid #cfd8e1; border-radius: 12px; margin-bottom: 20px; padding: 16px; }
.greeting-secondary { padding: 8px 12px; border: 1px solid #91686b; border-radius: 8px; background: Canvas; color: CanvasText; cursor: pointer; }
.greeting-dialog {
    box-sizing: border-box; width: min(91vw, 490px); padding: clamp(20px, 5vw, 38px); text-align: center;
    border: 2px solid #d3a668; border-radius: 20px; background: Canvas; color: CanvasText;
    box-shadow: 0 24px 80px #3a091545;
}
.greeting-dialog::backdrop { background: #150c15a8; }
.greeting-dialog h2 { font-size: clamp(24px, 5vw, 36px); }
.greeting-dialog .greeting-actions { justify-content: center; margin: 18px 0 0; }
.greeting-dialog .greeting-button { border: 0; border-radius: 8px; padding: 9px 14px; background: #9b192c; color: #fff; cursor: pointer; }
.greeting-petals { position: fixed; z-index: 9999; inset: 0; overflow: hidden; pointer-events: none; }
.greeting-petals span {
    position: absolute; left: var(--petal-left); top: -20px; width: 11px; height: 16px;
    border-radius: 75% 20% 65% 32%; background: hsl(var(--petal-hue) 88% 63% / .76);
    animation: greeting-fall 4.4s var(--petal-delay) linear both;
}
@keyframes greeting-fall {
    from { transform: translateY(0) rotate(0deg); }
    to { transform: translate(var(--petal-drift), 105vh) rotate(480deg); }
}
@media (max-width: 1190px) { .greeting-admin-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) {
    .greeting-maker, .greeting-admin-workspace { grid-template-columns: minmax(0, 1fr); }
    .greeting-preview-layout { grid-template-columns: minmax(0, 1fr); }
    .greeting-direction { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .greeting-direction button:first-child, .greeting-direction button:nth-child(2), .greeting-direction button:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .greeting-petals { display: none; } }
