/* =========================================================
   CAMPOSANTO VIRTUAL
   FLORES, VELAS Y MENSAJES
========================================================= */

:root{
    --cv_navy:#071326;
    --cv_navy2:#101b31;
    --cv_gold:#c99635;
    --cv_gold_light:#dfb24f;
    --cv_cream:#fbf7ef;
    --cv_ink:#111827;
    --cv_muted:#707887;
    --cv_green:#4f765d;
    --cv_red:#984444;
}

*{box-sizing:border-box}

html{min-height:100%}

body{
    margin:0;
    min-height:100vh;
    color:#fff;
    font-family:Inter,Arial,sans-serif;
    background:
        radial-gradient(circle at 82% 12%,rgba(210,158,56,.10),transparent 26%),
        linear-gradient(135deg,#071326,#111b30);
}

a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.cv_wrap{width:min(1080px,calc(100% - 48px));margin:auto}

/* HEADER */
.cv_header{padding:21px 0}
.cv_nav{display:flex;align-items:center;justify-content:space-between}
.cv_logo{display:flex;align-items:center;gap:12px}
.cv_logo_icon{
    width:48px;height:58px;display:grid;place-items:center;
    border:1px solid var(--cv_gold);border-radius:22px 22px 4px 4px;
    color:var(--cv_gold);font-size:25px
}
.cv_logo_text b{
    display:block;font:600 23px/1 "Cormorant Garamond",serif;
    letter-spacing:.16em
}
.cv_logo_text small{
    display:block;margin-top:7px;text-align:center;color:var(--cv_gold);
    font-size:9px;font-weight:700;letter-spacing:.38em
}
.cv_nav_actions{display:flex;align-items:center;gap:12px}
.cv_back{color:#d8dee8;font-size:10px}
.cv_button_gold{
    min-height:40px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;
    border:0;border-radius:10px;color:#fff;font-size:9px;font-weight:800;
    background:linear-gradient(135deg,#d8a946,#b87d25);cursor:pointer
}

/* INTRO */
.cv_main{padding:38px 0 80px}
.cv_intro{max-width:760px;margin:0 auto 28px;text-align:center}
.cv_eyebrow{
    color:var(--cv_gold_light);font-size:9px;font-weight:800;letter-spacing:.20em
}
.cv_intro h1{
    margin:12px 0 10px;font:600 48px/.98 "Cormorant Garamond",serif
}
.cv_intro p{margin:0;color:#abb5c4;font-size:10px;line-height:1.7}

/* CARD */
.cv_card{
    max-width:760px;margin:auto;padding:34px;
    color:var(--cv_ink);
    background:linear-gradient(145deg,#fffefd,#f8f2e8);
    border-radius:22px;box-shadow:0 30px 70px rgba(0,0,0,.22)
}
.cv_card_head{margin-bottom:22px}
.cv_card_head span{
    color:#aa7729;font-size:8px;font-weight:800;letter-spacing:.18em
}
.cv_card_head h2{
    margin:8px 0 6px;font:600 31px/1 "Cormorant Garamond",serif
}
.cv_card_head p{margin:0;color:#777f8b;font-size:9px;line-height:1.6}

/* FORM */
.cv_form{display:grid;gap:17px}
.cv_form label{font-size:9px;font-weight:800;color:#343b46}
.cv_form input,
.cv_form textarea,
.cv_form select{
    width:100%;margin-top:7px;padding:13px 14px;border:1px solid #dcd7cf;
    border-radius:10px;background:#fff;color:#202733;outline:none;font-size:10px
}
.cv_form textarea{min-height:105px;resize:vertical;line-height:1.6}
.cv_form input:focus,
.cv_form textarea:focus,
.cv_form select:focus{
    border-color:#c7953c;box-shadow:0 0 0 3px rgba(199,149,60,.10)
}
.cv_help{display:block;margin-top:5px;color:#969ca5;font-size:7px;font-weight:500}
.cv_submit{
    min-height:49px;border:0;border-radius:11px;color:#fff;cursor:pointer;
    background:linear-gradient(135deg,#d9aa49,#b97e26);
    font-size:9px;font-weight:800
}

/* OPTIONS */
.cv_options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cv_option input{display:none}
.cv_option label{
    min-height:115px;padding:18px;border:1px solid #ded4c6;border-radius:13px;
    background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
    cursor:pointer;text-align:center;transition:.18s ease
}
.cv_option label span{font-size:32px;margin-bottom:8px}
.cv_option label b{font-size:9px}
.cv_option input:checked + label{
    border-color:#c99635;background:#fff8ea;box-shadow:0 0 0 3px rgba(201,150,53,.10)
}

/* ALERTS */
.cv_error,.cv_ok{
    max-width:760px;margin:0 auto 18px;padding:12px 15px;border-radius:10px;font-size:9px
}
.cv_error{color:#8b3434;background:#fff0f0;border:1px solid #ecc8c8}
.cv_ok{color:#397149;background:#eff9f1;border:1px solid #c9e4cf}

/* LISTS */
.cv_stats{
    max-width:760px;margin:22px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px
}
.cv_stat{
    padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:13px;text-align:center
}
.cv_stat strong{display:block;color:var(--cv_gold_light);font:600 28px "Cormorant Garamond",serif}
.cv_stat span{color:#aeb7c5;font-size:8px}
.cv_list{display:grid;gap:10px}
.cv_item{
    padding:14px;border:1px solid #e5ddd1;border-radius:12px;background:#fff
}
.cv_item_top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cv_item strong{font-size:9px}
.cv_item time{font-size:7px;color:#9aa0a8}
.cv_item p{margin:7px 0 0;color:#69717d;font-size:9px;line-height:1.55}
.cv_badge{
    display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;
    background:#f5ead5;color:#8f651f;font-size:7px;font-weight:800
}

/* MODERATION */
.cv_admin_grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cv_admin_section{
    padding:28px;color:var(--cv_ink);
    background:linear-gradient(145deg,#fffefd,#f8f2e8);
    border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.18)
}
.cv_admin_section h2{
    margin:7px 0 18px;font:600 29px/1 "Cormorant Garamond",serif
}
.cv_admin_actions{display:flex;gap:7px;margin-top:10px}
.cv_small_button{
    min-height:30px;padding:0 10px;border:1px solid #d9d1c6;border-radius:8px;
    background:#fff;color:#4f5865;cursor:pointer;font-size:7px;font-weight:800
}
.cv_small_button.approve{color:#397149;border-color:#c7dfcd;background:#f1f8f2}
.cv_small_button.delete{color:#9a4040;border-color:#ead0d0;background:#fff4f4}

/* RETURN */
.cv_return{
    max-width:760px;margin:22px auto 0;display:flex;justify-content:center
}
.cv_return a{
    min-height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid rgba(255,255,255,.20);border-radius:10px;color:#fff;font-size:8px;font-weight:800
}

@media(max-width:760px){
    .cv_wrap{width:calc(100% - 28px)}
    .cv_logo_text{display:none}
    .cv_back{display:none}
    .cv_intro h1{font-size:39px}
    .cv_card{padding:24px}
    .cv_options{grid-template-columns:1fr}
    .cv_stats{grid-template-columns:1fr}
    .cv_admin_grid{grid-template-columns:1fr}
}
