/* Resep Ibunda v5 — additive platform layer. Baseline v4.1 remains intact. */
:root{--ri-soft:#fff9ed;--ri-soft-2:#f7ead3;--ri-card:#fffdf8;--ri-success:#37633d;--ri-danger:#9d2a2a}

/* Requested visual fixes */
.category-section{padding-bottom:34px}
.category-section+.section{padding-top:34px}
.related{width:min(1120px,92vw);padding-top:54px;padding-bottom:66px}
.related .section-head{margin-bottom:20px}
.related .recipe-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related .card-body{padding:14px 15px 15px}
.related .card-body h3{font-size:18px;margin:4px 0 7px}
.related .card-body p{font-size:12px;line-height:1.48;-webkit-line-clamp:2}
.related .meta{gap:9px;padding-top:9px;font-size:9px}
.related .eyebrow{font-size:9px}

/* Homepage platform cards */
.ri-platform-section{padding-top:42px;padding-bottom:56px}
.ri-platform-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ri-platform-card{position:relative;overflow:hidden;min-height:188px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--ri-card),var(--ri-soft));box-shadow:0 8px 24px rgba(60,20,32,.055);transition:transform .2s,box-shadow .2s,border-color .2s}
.ri-platform-card:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 15px 36px rgba(60,20,32,.1)}
.ri-platform-icon{display:grid;width:48px;height:48px;place-items:center;margin-bottom:14px;border:1px solid rgba(217,174,88,.72);border-radius:14px;background:linear-gradient(145deg,#fff7e5,#f4dfad);font-size:23px}
.ri-platform-card strong{display:block;color:var(--maroon);font:700 19px/1.2 Georgia,serif}
.ri-platform-card p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.ri-platform-card small{position:absolute;right:18px;bottom:15px;color:var(--maroon);font-size:10px;font-weight:800}

/* Recipe engagement */
.ri-engagement{margin:4px 0 34px;padding:24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fffdf8,#fff6e5);box-shadow:0 9px 28px rgba(60,20,32,.06)}
.ri-engagement-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}
.ri-engagement-head h2{margin:0;color:var(--maroon);font:700 25px Georgia,serif}
.ri-engagement-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.ri-kitchen-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(55,99,61,.25);border-radius:999px;background:#edf5ee;color:var(--ri-success);font-size:10px;font-weight:800}
.ri-engagement-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ri-action{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--maroon);font-weight:800;cursor:pointer}
.ri-action:hover,.ri-action.active{border-color:var(--gold);background:#fff7e5}
.ri-action b{font-size:12px}.ri-action span{font-size:18px}
.ri-comments{margin-top:19px;padding-top:18px;border-top:1px solid var(--line)}
.ri-comments h3{margin:0 0 12px;color:var(--maroon);font:700 19px Georgia,serif}
.ri-comment-list{display:grid;gap:9px;margin-bottom:13px}
.ri-comment{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ri-comment strong,.ri-comment time{display:inline-block}.ri-comment strong{color:var(--maroon);font-size:12px}.ri-comment time{margin-left:7px;color:var(--muted);font-size:9px}.ri-comment p{margin:5px 0 0;font-size:12px;line-height:1.55}
.ri-comment-empty{color:var(--muted);font-size:12px}
.ri-comment-form{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ri-comment-form textarea{grid-column:1/-1;min-height:86px;resize:vertical}
.ri-field,.ri-comment-form input,.ri-comment-form textarea,.ri-page-form input,.ri-page-form select,.ri-page-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 12px;color:var(--ink);font:13px Arial,sans-serif;outline:none}
.ri-field:focus,.ri-comment-form input:focus,.ri-comment-form textarea:focus,.ri-page-form input:focus,.ri-page-form select:focus,.ri-page-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,174,88,.14)}
.ri-comment-form .button{justify-self:start;padding:10px 16px}
.ri-form-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:10px}
.ri-status{margin-top:9px;color:var(--muted);font-size:11px}

/* Generic feature pages */
.ri-page-hero{padding:76px max(4vw,24px) 58px;background:linear-gradient(145deg,#fffaf1,#f5e5c9);border-bottom:1px solid var(--line)}
.ri-page-hero>div{width:min(1160px,92vw);margin:auto}.ri-page-hero h1{margin:0;color:var(--maroon);font:700 clamp(38px,5vw,62px)/1.05 Georgia,serif}.ri-page-hero p{max-width:760px;color:var(--muted);font-size:16px}
.ri-content{width:min(1160px,92vw);margin:auto;padding:58px 0 82px}
.ri-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ri-card{padding:23px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 8px 28px rgba(60,20,32,.05)}.ri-card h2,.ri-card h3{color:var(--maroon);font-family:Georgia,serif}.ri-card h2{font-size:23px}.ri-card h3{font-size:18px}.ri-card p,.ri-card li{color:var(--muted);font-size:13px}
.ri-page-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ri-page-form label>span{display:block;margin:0 0 5px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.ri-page-form .full{grid-column:1/-1}.ri-page-form textarea{min-height:118px;resize:vertical}.ri-page-form .button{justify-self:start}
.ri-section-title{margin:0 0 22px;color:var(--maroon);font:700 32px Georgia,serif}.ri-section-subtitle{margin:-13px 0 25px;color:var(--muted);font-size:13px}
.ri-article-card{display:flex;flex-direction:column}.ri-article-card .ri-platform-icon{margin-bottom:12px}.ri-article-card a{margin-top:auto;color:var(--maroon);font-size:11px;font-weight:800}
.ri-article{max-width:850px}.ri-article h2{margin-top:34px;color:var(--maroon);font:700 28px Georgia,serif}.ri-article h3{color:#9a6b2f}.ri-article p,.ri-article li{color:#59474c;font-size:16px}.ri-article .callout{margin:22px 0}
.ri-collection-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.ri-collection-toolbar button{border:1px solid var(--line);border-radius:999px;background:#fff;padding:9px 14px;color:var(--maroon);font-weight:800;cursor:pointer}.ri-collection-toolbar button.active{background:var(--maroon);color:var(--gold-light);border-color:var(--maroon)}

/* Small modal used by recook */
.ri-dialog[hidden]{display:none}.ri-dialog{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:20px}.ri-dialog-backdrop{position:absolute;inset:0;background:rgba(35,15,20,.65);backdrop-filter:blur(5px)}.ri-dialog-box{position:relative;z-index:1;width:min(520px,94vw);padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 24px 70px rgba(0,0,0,.3)}.ri-dialog-box h2{margin:0 0 6px;color:var(--maroon);font:700 25px Georgia}.ri-dialog-box p{color:var(--muted);font-size:12px}.ri-dialog-box .ri-page-form{grid-template-columns:1fr}.ri-dialog-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#fff4df;color:var(--maroon);font-size:20px;cursor:pointer}

/* Extended footer links */
.ri-footer-links{display:flex;flex-wrap:wrap;gap:9px 15px;margin-top:12px}.ri-footer-links a{font-size:11px}

@media(max-width:1180px){.ri-platform-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ri-engagement-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.category-section{padding-bottom:24px}.category-section+.section{padding-top:24px}.related{padding-top:42px}.related .recipe-grid.three{grid-template-columns:1fr}.related .card-body h3{font-size:19px}.ri-platform-grid,.ri-card-grid{grid-template-columns:1fr}.ri-platform-card{min-height:0}.ri-engagement{padding:18px}.ri-engagement-head{display:block}.ri-kitchen-badge{margin-top:10px}.ri-engagement-actions{grid-template-columns:1fr 1fr}.ri-comment-form,.ri-page-form{grid-template-columns:1fr}.ri-comment-form textarea,.ri-page-form .full{grid-column:1}.ri-page-hero{padding-top:50px}.ri-content{padding-top:42px}}

/* v5 community refinements */
.ri-comment-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.ri-comment-head>span{display:flex;align-items:center;gap:7px}.ri-comment-head time{margin-left:0}.ri-comment-head button{border:0;background:transparent;color:var(--muted);font-size:9px;font-weight:700;cursor:pointer}.ri-comment-head button:hover{color:var(--maroon);text-decoration:underline}
.ri-save-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.ri-save-choices button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer}.ri-save-choices button>span{grid-row:1/3;display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#fff5df;color:var(--maroon);font-size:20px}.ri-save-choices button strong{color:var(--maroon);font-size:13px}.ri-save-choices button small{color:var(--muted);font-size:10px}.ri-save-choices button.active{border-color:var(--gold);background:#fff8e9;box-shadow:0 0 0 3px rgba(217,174,88,.12)}.ri-dialog-link{display:inline-block;color:var(--maroon);font-size:11px;font-weight:800}
.ri-recipe-flag{display:inline-flex;margin:0 6px 7px 0;padding:4px 8px;border:1px solid rgba(217,174,88,.45);border-radius:999px;background:#fff7e3;color:var(--maroon);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
@media(max-width:560px){.ri-save-choices{grid-template-columns:1fr}}
.ri-contributor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ri-contributor-card{display:flex;flex-direction:column;align-items:flex-start}.ri-contributor-card>strong{margin:5px 0 14px;color:var(--maroon);font-size:11px}.ri-contributor-card .button{margin-top:auto}
@media(max-width:900px){.ri-contributor-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ri-contributor-grid{grid-template-columns:1fr}}
.ri-community-credit{display:inline-flex;align-items:center;gap:6px;margin:0 0 18px;padding:7px 10px;border:1px solid rgba(217,174,88,.38);border-radius:999px;background:#fff8e8;color:var(--maroon);font-size:10px}.ri-community-credit strong{font-weight:800}
