:root{
    --sommaa-primary:#2a276c;
    --sommaa-accent:#f4a66f;
    --sommaa-soft:#fff8f1;
    --sommaa-ink:#252244;
    --sommaa-border:rgba(42,39,108,.13);
}
html{scroll-behavior:smooth;}
body{
    background:linear-gradient(180deg,#fffaf4 0%,#fff 42%,#f7f6ff 100%);
    color:var(--sommaa-ink);
    overflow-x:hidden;
}
a,button,.btn,.card,.list-group-item,.form-control,.badge,.p_image{transition:all .22s ease-in-out;}
a:hover{text-decoration:none;}
#app{min-height:70vh;}
.navbar{
    background:rgba(42,39,108,.95)!important;
    box-shadow:0 10px 30px rgba(42,39,108,.18);
    backdrop-filter:blur(10px);
}
.navbar .nav-link{border-radius:999px;padding:.45rem .85rem!important;margin:.15rem;color:#fff!important;}
.navbar .nav-link:hover,.navbar .nav-item.active .nav-link{background:rgba(255,255,255,.12);transform:translateY(-1px);}
.navbar-brand img{border-radius:14px;box-shadow:0 8px 22px rgba(0,0,0,.18);object-fit:cover;}
#main_card,.card{
    border:1px solid var(--sommaa-border)!important;
    border-radius:26px!important;
    box-shadow:0 18px 50px rgba(42,39,108,.10)!important;
    overflow:hidden;
}
#main_card>.card-body,.card>.card-body{padding:1.4rem;}
#main_card h1,#main_card h2,#main_card h3,#main_card h4,.centry_box h4{
    color:var(--sommaa-primary)!important;
    font-weight:800;
    line-height:1.8;
}
.text-light{color:#fff!important;}
#main_card h4.text-light,.centry_box h4.text-light{color:var(--sommaa-primary)!important;height:auto!important;}
.poet-card,.poem-list-item,.sommaa-filter-card,.reader-toolbar{
    border:1px solid var(--sommaa-border);
    background:rgba(255,255,255,.88);
    border-radius:22px;
    box-shadow:0 12px 32px rgba(42,39,108,.08);
}
.poet-card{padding:1rem .6rem;margin-bottom:1rem;height:calc(100% - 1rem);}
.poet-card:hover,.poem-list-item:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(42,39,108,.14);}
.p_image,.poet-avatar{
    width:112px!important;height:112px!important;object-fit:cover;border-radius:50%!important;
    border:4px solid #fff;box-shadow:0 10px 28px rgba(42,39,108,.18);display:block;margin:.4rem auto .75rem;
}
.poet-avatar-lg{width:140px!important;height:140px!important;}
.btn-danger,.btn-sommaa,.category_box .list-group-item,.centry_number{
    background:linear-gradient(135deg,var(--sommaa-primary),#4b357c)!important;
    border:none!important;color:#fff!important;
}
.btn-danger:hover,.btn-sommaa:hover,.category_box .list-group-item:hover,.centry_number:hover{filter:brightness(1.08);transform:translateY(-2px);}
.btn-rounded,.btn{border-radius:999px!important;box-shadow:0 8px 20px rgba(42,39,108,.12);}
.category_box{width:100%;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem;}
.category_box .list-group-item{border-radius:18px!important;margin:0!important;padding:.8rem!important;}
.category_box a{display:block;color:#fff!important;}
.centry_box{background:transparent!important;margin-top:1.2rem;}
.centry_number{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;margin:.25rem!important;border-radius:14px!important;}
.badge.badge-light{background:#fff!important;color:var(--sommaa-primary)!important;border:1px solid var(--sommaa-border);padding:.55rem .75rem;margin:.16rem;border-radius:12px;}
.badge.badge-light:hover{background:var(--sommaa-primary)!important;color:#fff!important;}
.form-control{border-radius:16px!important;border:1px solid var(--sommaa-border)!important;background:#fff!important;color:var(--sommaa-ink)!important;min-height:44px;}
.form-control:focus{border-color:var(--sommaa-accent)!important;box-shadow:0 0 0 .18rem rgba(244,166,111,.22)!important;}
.sommaa-filter-card{padding:1rem;margin:1rem 0;}
.sommaa-filter-card .btn{min-height:44px;width:100%;}
.poem-list{display:grid;gap:.8rem;}
.poem-list-item{padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;}
.poem-list-item a{color:var(--sommaa-primary)!important;font-weight:800;}
.poem-list-item .poem-meta{font-size:.85rem;color:#777;}
.poem-body,.reading-content,#myText{font-size:1.18rem;line-height:2.45;text-align:center;color:#201d36;max-width:850px;margin:1rem auto;}
.reader-toolbar{position:sticky;top:80px;z-index:7;padding:.6rem;margin:1rem auto;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:850px;}
.reader-toolbar .btn{padding:.45rem .85rem;font-size:.9rem;background:#fff;color:var(--sommaa-primary);border:1px solid var(--sommaa-border)!important;}
.reader-toolbar .btn.active,.reader-toolbar .btn:hover{background:var(--sommaa-primary);color:#fff;}
#share-buttons{text-align:center;margin:1.5rem auto;}
#share-buttons a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:#fff;border-radius:50%;box-shadow:0 8px 18px rgba(42,39,108,.12);margin:.2rem!important;}
footer{border-radius:36px 36px 0 0;overflow:hidden;box-shadow:0 -18px 40px rgba(42,39,108,.08);}
#footer_links strong{display:block;margin:.45rem 0;}
#footer_links a{color:var(--sommaa-primary)!important;}
.sommaa-fade{animation:sommaaFade .55s ease both;}
@keyframes sommaaFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:991.98px){
    main#app{padding-top:4.4rem!important;}
    .navbar .container{padding-left:1rem;padding-right:1rem;}
    .navbar-collapse{background:rgba(42,39,108,.98);border-radius:18px;padding:.75rem;margin-top:.6rem;}
    .sommaa-filter-card .col-md-2,.sommaa-filter-card .col-md-3,.sommaa-filter-card .col-md-4,.sommaa-filter-card .col-md-5{margin-bottom:.65rem;}
}
@media (max-width:767.98px){
    .container{max-width:100%;padding-left:14px;padding-right:14px;}
    #main_card>.card-body,.card>.card-body{padding:1rem;}
    .p_image,.poet-avatar{width:86px!important;height:86px!important;}
    .poet-avatar-lg{width:118px!important;height:118px!important;}
    .poet-card{padding:.75rem .45rem;}
    .btn-sm{font-size:.78rem!important;white-space:normal;line-height:1.8;}
    .poem-list-item{align-items:flex-start;flex-direction:column;}
    .poem-body,.reading-content,#myText{font-size:1.05rem;line-height:2.25;text-align:right;}
    .reader-toolbar{top:70px;}
    #footer_links{flex:0 0 50%;max-width:50%;margin-bottom:1rem;}
}
@media (max-width:420px){
    .col-3{flex:0 0 50%;max-width:50%;}
    .category_box{grid-template-columns:1fr;}
}
@media print{.navbar,footer,.reader-toolbar,#share-buttons,.sommaa-filter-card{display:none!important}.card,#main_card{box-shadow:none!important;border:0!important}.poem-body,#myText{font-size:16pt;line-height:2.2}}
