/* Peptide Research Calculator — theme-native presentation system.
 * All components are original, self-contained CSS/SVG; nothing depends on Porto.
 * The active theme continues to own the typeface, palette, site header, and layout.
 */
.rcpc {
  --rcpc-accent:var(--porto-primary-color,var(--e-global-color-primary,var(--wp--preset--color--primary,var(--ast-global-color-0,var(--global-palette1,var(--theme-link-color,var(--wp--preset--color--accent,#505050)))))));
  --rcpc-ink:currentColor;
  --rcpc-stroke:color-mix(in srgb,currentColor 16%,transparent);
  --rcpc-soft:color-mix(in srgb,currentColor 3%,transparent);
  --rcpc-hover:color-mix(in srgb,var(--rcpc-accent) 7%,transparent);
  --rcpc-highlight:color-mix(in srgb,var(--rcpc-accent) 12%,transparent);
  --rcpc-radius:16px;
  font-family:var(--porto-body-ff,var(--e-global-typography-text-font-family,inherit));
  color:inherit;
  font-size:inherit;
  line-height:1.55;
}
.rcpc .rcpc-icon {width:1.15em;height:1.15em;flex:none;display:inline-block;vertical-align:-.16em;overflow:visible;stroke:currentColor;pointer-events:none}
.rcpc .rcpc-panel {border:1px solid var(--rcpc-stroke);border-radius:var(--rcpc-radius);background:var(--rcpc-soft);color:inherit;box-shadow:0 5px 22px color-mix(in srgb,currentColor 4%,transparent);padding:clamp(16px,1.9vw,28px)}
.rcpc .rcpc-mode-grid {gap:clamp(14px,1.75vw,27px)}
.rcpc .rcpc-panel-title{font-family:var(--porto-heading-ff,var(--e-global-typography-primary-font-family,var(--wp--preset--font-family--heading,inherit)));color:inherit;font-size:clamp(1.1rem,.96rem + .53cqw,1.47rem);font-weight:740;line-height:1.3;letter-spacing:-.022em;display:flex;align-items:center;gap:.63em;margin:0 0 .8em}
.rcpc .rcpc-panel-title .rcpc-icon{color:var(--rcpc-accent);width:1.12em;height:1.12em}
.rcpc .rcpc-panel p{font-size:clamp(.84rem,.78rem + .16cqw,.95rem);line-height:1.6}
.rcpc .rcpc-panel h3{font-size:clamp(1rem,.90rem + .3cqw,1.2rem);line-height:1.35;font-weight:730}
.rcpc .rcpc-eyebrow{display:flex;align-items:center;gap:.55em;opacity:.8;font-size:.72rem;line-height:1.45;letter-spacing:.09em;font-weight:750;text-transform:uppercase}
.rcpc .rcpc-eyebrow .rcpc-icon{color:var(--rcpc-accent);opacity:1;width:1.3em;height:1.3em}
/* Seven-mode navigation: icon led, visually stable, and still keyboard/ARIA operated by the existing JS. */
.rcpc .rcpc-mode-tabs{background:var(--rcpc-soft);border:1px solid var(--rcpc-stroke);border-radius:15px;padding:7px;gap:5px;margin:0 0 clamp(17px,2vw,26px);box-shadow:none}
.rcpc .rcpc-mode-tabs button{min-width:0;min-height:56px;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.27;text-align:center;padding:10px 8px;border:1px solid transparent;border-radius:11px;background:transparent;color:inherit;font-family:inherit;font-size:clamp(.74rem,.69rem + .18cqw,.9rem);font-weight:650;box-shadow:none;transition:background-color .16s,border-color .16s,box-shadow .16s;cursor:pointer}
.rcpc .rcpc-mode-tabs button .rcpc-icon{width:17px;height:17px;color:var(--rcpc-accent)}
.rcpc .rcpc-mode-tabs button .rcpc-tab-label{min-width:0;overflow-wrap:break-word}
.rcpc .rcpc-mode-tabs button[aria-selected="true"]{background:var(--rcpc-highlight);color:inherit;border-color:color-mix(in srgb,var(--rcpc-accent) 45%,transparent);box-shadow:inset 0 -2px 0 var(--rcpc-accent);font-weight:760}
.rcpc .rcpc-mode-tabs button:hover:not([aria-selected="true"]){background:var(--rcpc-hover);border-color:var(--rcpc-stroke)}
.rcpc .rcpc-mode-tabs button:focus-visible{outline:3px solid var(--rcpc-accent);outline-offset:2px}
/* Accessible fields, restrained type and native visible selection affordances. */
.rcpc label,.rcpc .rcpc-field-label,.rcpc .rcpc-picker-label{color:inherit;font-family:inherit;font-size:clamp(.82rem,.78rem + .1cqw,.91rem);line-height:1.4;font-weight:700}
.rcpc .rcpc-research-selector{margin-block:10px 12px}
.rcpc .rcpc-field,.rcpc label{min-width:0}
.rcpc input,.rcpc select,.rcpc textarea{font-family:inherit;font-size:clamp(.88rem,.83rem + .13cqw,1rem);line-height:1.3;min-height:44px;padding:10px 12px;border:1px solid var(--rcpc-stroke);border-radius:10px;background:color-mix(in srgb,currentColor 1.5%,transparent);color:inherit;box-shadow:none;transition:border-color .16s,background-color .16s}
.rcpc select{appearance:auto;-webkit-appearance:menulist;cursor:pointer}
.rcpc input:hover,.rcpc select:hover{border-color:color-mix(in srgb,var(--rcpc-accent) 40%,var(--rcpc-stroke))}
.rcpc input:focus-visible,.rcpc select:focus-visible,.rcpc button:focus-visible{outline:3px solid var(--rcpc-accent);outline-offset:2px}
.rcpc input::placeholder{color:inherit;opacity:.5}
.rcpc .rcpc-profile-note,.rcpc .rcpc-field small,.rcpc .rcpc-footnote{font-family:inherit;font-size:clamp(.77rem,.72rem + .1cqw,.85rem);line-height:1.55;opacity:.75}
.rcpc .rcpc-component{background:var(--rcpc-soft);border:1px solid var(--rcpc-stroke);border-radius:12px}
.rcpc .rcpc-component legend{font-size:.94rem;font-weight:730;color:var(--rcpc-accent)}
/* CTA element treatment uses the current theme color, not Porto styles/assets. */
.rcpc .rcpc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:17px}
.rcpc .rcpc-actions button{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:43px;border-radius:10px;padding:10px 17px;font-family:inherit;font-size:clamp(.85rem,.81rem + .12cqw,.95rem);font-weight:700;line-height:1.3;transition:transform .16s,background-color .16s,border-color .16s}
.rcpc .rcpc-actions button .rcpc-icon{height:1.08em;width:1.08em}
.rcpc .rcpc-actions button[data-calculate],.rcpc .rcpc-actions button[data-compare-calculate]{background:var(--rcpc-accent);border-color:var(--rcpc-accent);color:var(--rcpc-on-accent,var(--wp--preset--color--base,#fff))}
.rcpc .rcpc-actions button[data-reset],.rcpc .rcpc-actions button[data-compare-reset]{background:transparent;color:inherit;border-color:var(--rcpc-stroke)}
.rcpc .rcpc-actions button:hover:not(:disabled){transform:translateY(-1px)}
.rcpc .rcpc-actions button[data-reset]:hover,.rcpc .rcpc-actions button[data-compare-reset]:hover{background:var(--rcpc-hover);border-color:var(--rcpc-accent)}
.rcpc .rcpc-actions button:disabled{cursor:not-allowed;opacity:.6}
/* Porto-style information-box pattern applied to the real calculator's numeric results. */
.rcpc .rcpc-main-result{border-left:4px solid var(--rcpc-accent);background:var(--rcpc-highlight);padding:clamp(12px,1.4vw,20px) clamp(15px,1.7vw,24px);margin:10px 0 18px;border-radius:0 12px 12px 0;align-items:baseline;gap:10px}
.rcpc .rcpc-main-result strong{color:inherit;font-family:inherit;font-size:clamp(2.05rem,2.9cqw,3.2rem);font-weight:780;letter-spacing:-.038em;line-height:1.08}
.rcpc .rcpc-main-result span{font-family:inherit;font-size:clamp(.86rem,.80rem + .12cqw,1rem);font-weight:690}
.rcpc .rcpc-breakdown,.rcpc .rcpc-reference,.rcpc .rcpc-component-results{background:transparent;border-radius:13px;border:1px solid var(--rcpc-stroke)}
.rcpc .rcpc-breakdown .rcpc-result-row,.rcpc .rcpc-reference>div{padding:clamp(10px,1.1vw,13px) clamp(11px,1.2vw,15px);gap:10px;border-bottom:1px solid var(--rcpc-stroke);font-size:clamp(.79rem,.75rem + .13cqw,.9rem);line-height:1.5}
.rcpc .rcpc-breakdown dt{opacity:.79;font-weight:500}.rcpc .rcpc-breakdown dd{font-variant-numeric:tabular-nums;font-weight:720;max-width:60%}
.rcpc .rcpc-breakdown .rcpc-result-row:nth-child(even){background:var(--rcpc-soft)}
.rcpc .rcpc-results .rcpc-footnote{margin-top:15px}
/* Scientific instrument card with its existing animated SVG and untouched magnifier. */
.rcpc .rcpc-syringe{padding:clamp(12px,1.3vw,18px);background:var(--rcpc-soft);border:1px solid var(--rcpc-stroke);border-radius:13px;margin:14px 0}
.rcpc .rcpc-syringe-head{font-size:clamp(.75rem,.7rem + .1cqw,.85rem);line-height:1.5;gap:10px}
.rcpc .rcpc-syringe-svg{width:100%;height:auto;display:block;overflow:visible}
.rcpc .rcpc-syringe-inspection{border-top:1px solid var(--rcpc-stroke);margin-top:8px;padding-top:10px}
.rcpc .rcpc-syringe-inspection-head{display:flex;align-items:center;gap:8px;font-size:.84rem}
.rcpc .rcpc-syringe-inspection-head .rcpc-icon{color:var(--rcpc-accent)}
/* Accordion/toggle element: full-width, readable formula explanation. */
.rcpc .rcpc-mode-panel > .rcpc-premium-tools{margin-top:clamp(18px,2.3vw,29px);color:inherit}
.rcpc .rcpc-explain,.rcpc .rcpc-compare{border:1px solid var(--rcpc-stroke);border-radius:var(--rcpc-radius);background:var(--rcpc-soft);box-shadow:none;overflow:hidden}
.rcpc .rcpc-explain summary,.rcpc .rcpc-compare>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:clamp(15px,1.8vw,23px);border-left:4px solid var(--rcpc-accent);background:transparent}
.rcpc .rcpc-explain summary::-webkit-details-marker,.rcpc .rcpc-compare>summary::-webkit-details-marker{display:none}
.rcpc .rcpc-explain summary::after,.rcpc .rcpc-compare>summary::after{content:"";width:8px;height:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin-left:auto;flex:none;transition:transform .16s}
.rcpc .rcpc-explain[open] summary::after,.rcpc .rcpc-compare[open]>summary::after{transform:rotate(225deg)}
.rcpc .rcpc-explain-symbol,.rcpc .rcpc-compare>summary>.rcpc-icon{display:inline-flex;width:38px;height:38px;flex:none;align-items:center;justify-content:center;color:var(--rcpc-accent);background:var(--rcpc-highlight);border:1px solid var(--rcpc-stroke);border-radius:10px}
.rcpc .rcpc-explain-symbol svg{width:20px;height:20px}
.rcpc .rcpc-compare>summary>.rcpc-icon{padding:9px}
.rcpc .rcpc-explain summary h2,.rcpc .rcpc-compare>summary h2{color:inherit;font-family:var(--porto-heading-ff,var(--e-global-typography-primary-font-family,var(--wp--preset--font-family--heading,inherit)));font-size:clamp(1.08rem,.98rem + .55cqw,1.48rem);line-height:1.3;font-weight:750;margin:0;min-width:0}
.rcpc .rcpc-compare>summary{flex-wrap:wrap}
.rcpc .rcpc-compare>summary span{font-size:.8rem;opacity:.7;max-width:100%;margin:0}
.rcpc .rcpc-explain-body,.rcpc .rcpc-compare-body{padding:0 clamp(15px,1.9vw,25px) clamp(15px,1.9vw,25px);font-family:inherit;font-size:clamp(.85rem,.81rem + .13cqw,.96rem)}
.rcpc .rcpc-explain-body ol{margin:9px 0 17px;padding-left:25px;counter-reset:rcpc-step;list-style:none;display:grid;gap:9px}
.rcpc .rcpc-explain-body ol>li{position:relative;border:1px solid var(--rcpc-stroke);border-radius:10px;padding:12px 13px 12px 44px;background:var(--rcpc-soft);line-height:1.55}
.rcpc .rcpc-explain-body ol>li::before{counter-increment:rcpc-step;content:counter(rcpc-step);position:absolute;left:12px;top:12px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--rcpc-accent);color:var(--rcpc-accent);font-size:.78rem;font-weight:750}
.rcpc .rcpc-explain-body ol>li strong{font-weight:760}.rcpc .rcpc-explain-body ol>li p{margin:5px 0 0}
.rcpc .rcpc-report-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.rcpc .rcpc-report-actions button{display:inline-flex;align-items:center;gap:7px;min-height:39px;padding:9px 14px;border:1px solid var(--rcpc-stroke);border-radius:9px;background:transparent;color:inherit;font-family:inherit;font-size:.83rem;font-weight:660}
.rcpc .rcpc-report-actions button:hover:not(:disabled){border-color:var(--rcpc-accent);background:var(--rcpc-hover)}
.rcpc .rcpc-report-actions button:disabled{opacity:.48}
.rcpc .rcpc-report-btn::before{content:"";width:15px;height:15px;display:inline-block;flex:none;opacity:.85;background:currentColor;mask-repeat:no-repeat;mask-size:contain;mask-position:center}
.rcpc .rcpc-report-copy::before{mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M8 4h12v15H8zM4 8H2v14h13v-2" fill="none" stroke="black" stroke-width="2"/%3E%3C/svg%3E')}
.rcpc .rcpc-report-csv::before,.rcpc .rcpc-report-pdf::before,.rcpc .rcpc-report-print::before{mask-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cpath d="M6 3h12v11M6 3v18h12v-7M9 12l3 3 3-3M12 15V7" fill="none" stroke="black" stroke-width="2" stroke-linejoin="round"/%3E%3C/svg%3E')}
.rcpc .rcpc-compare-case,.rcpc .rcpc-chart-row{border-radius:12px;background:var(--rcpc-soft);border-color:var(--rcpc-stroke)}
.rcpc .rcpc-convert-output{font-family:inherit;font-size:clamp(1.4rem,1.9cqw,2.15rem);color:var(--rcpc-accent);font-weight:750;line-height:1.3;border-left:4px solid var(--rcpc-accent);background:var(--rcpc-highlight);padding:14px 19px;border-radius:0 12px 12px 0;margin-top:19px}
/* Editor-native hero/icon box rhythm; all typeface/color values flow from the theme. */
.rcpc-pattern-hero.wp-block-group h1.wp-block-heading,.elementor-element.rcpc-pattern-hero .elementor-heading-title,.vc_row.rcpc-pattern-hero h1{font-family:var(--porto-heading-ff,var(--e-global-typography-primary-font-family,var(--wp--preset--font-family--heading,inherit)));color:inherit;font-size:clamp(1.85rem,2.6vw,2.85rem);line-height:1.18;letter-spacing:-.024em;font-weight:700}
.rcpc-pattern-hero .rcpc-pattern-lede,.elementor-element.rcpc-pattern-hero .rcpc-pattern-lede,.vc_row.rcpc-pattern-hero .rcpc-pattern-lede{font-family:inherit;color:inherit;font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.7;opacity:.85}
.rcpc-pattern-callout h2,.rcpc-pattern-section-heading h2,.rcpc-pattern-guidance-card h3{font-family:var(--porto-heading-ff,var(--e-global-typography-primary-font-family,var(--wp--preset--font-family--heading,inherit)));color:inherit;font-size:clamp(1.1rem,1.75vw,1.5rem);font-weight:700;line-height:1.32;letter-spacing:-.015em}
.rcpc-pattern-guidance-card{transition:transform .16s,box-shadow .16s}
.rcpc-pattern-guidance-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,currentColor 7%,transparent)}
.rcpc-notice{display:flex;gap:13px;align-items:flex-start;font-family:inherit;color:inherit}
.rcpc-notice .rcpc-notice-icon{display:flex;width:42px;height:42px;flex:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--porto-primary-color,var(--e-global-color-primary,var(--wp--preset--color--primary,var(--ast-global-color-0,var(--global-palette1,var(--theme-link-color,var(--wp--preset--color--accent,#505050))))))) 11%,transparent);border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:11px;color:var(--porto-primary-color,var(--e-global-color-primary,var(--wp--preset--color--primary,var(--ast-global-color-0,var(--global-palette1,var(--theme-link-color,var(--wp--preset--color--accent,#505050)))))))}
.rcpc-notice .rcpc-notice-icon svg{width:21px;height:21px}
.rcpc-notice .rcpc-notice-copy{min-width:0}
.rcpc-notice strong{font-family:inherit;font-size:clamp(1rem,1.22vw,1.23rem);line-height:1.38}
.rcpc-notice p{font-family:inherit;font-size:clamp(.84rem,.79rem + .2vw,.98rem);line-height:1.65}
/* Small devices keep readable native controls, distinct tabs and full-width explanations. */
@container(max-width:1180px){.rcpc .rcpc-mode-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container(max-width:790px){.rcpc .rcpc-mode-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container(max-width:520px){.rcpc .rcpc-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.rcpc .rcpc-mode-tabs button{min-height:52px;gap:6px;padding:9px 6px;font-size:.79rem}.rcpc .rcpc-mode-tabs button .rcpc-icon{width:16px;height:16px}.rcpc .rcpc-explain summary,.rcpc .rcpc-compare>summary{gap:10px}.rcpc .rcpc-explain-symbol,.rcpc .rcpc-compare>summary>.rcpc-icon{width:33px;height:33px}.rcpc .rcpc-panel{padding:15px}.rcpc .rcpc-main-result strong{font-size:2.25rem}}
@container(max-width:350px){.rcpc .rcpc-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.rcpc .rcpc-mode-tabs button,.rcpc .rcpc-actions button,.rcpc-pattern-guidance-card,.rcpc .rcpc-explain summary::after,.rcpc .rcpc-compare>summary::after{transition:none!important;transform:none!important}}
/* The syringe barrel ink adapts to light/dark theme contrast while retaining the 30/50/100U geometry. */
.rcpc .rcpc-syringe-svg [data-role="scale-ticks"]{stroke:currentColor}
.rcpc .rcpc-syringe-svg [data-role="scale-labels"]{fill:currentColor}

/* Macro results: Porto-inspired, theme-adaptive composition bar (engine-fed, no separate calculations). */
.rcpc .rcpc-macro-visual{margin:0 0 14px;border:1px solid var(--rcpc-stroke);border-radius:12px;background:var(--rcpc-soft);padding:clamp(12px,1.4vw,19px)}
.rcpc .rcpc-macro-visual-title{display:block;font-family:inherit;font-size:clamp(.82rem,.8rem + .09cqw,.92rem);font-weight:730;margin-bottom:10px}
.rcpc .rcpc-macro-track{display:flex;width:100%;height:12px;background:color-mix(in srgb,currentColor 9%,transparent);border-radius:999px;overflow:hidden;gap:0}
.rcpc .rcpc-macro-part{display:block;flex:none;min-width:0;height:100%;transition:width .35s ease}
.rcpc .rcpc-macro-protein{background:var(--rcpc-accent)}
.rcpc .rcpc-macro-carbs{background:color-mix(in srgb,var(--rcpc-accent) 57%,currentColor)}
.rcpc .rcpc-macro-fat{background:color-mix(in srgb,var(--rcpc-accent) 30%,currentColor)}
.rcpc .rcpc-macro-legend{display:flex;gap:9px 17px;flex-wrap:wrap;margin-top:12px;font-size:clamp(.78rem,.74rem + .1cqw,.88rem)}
.rcpc .rcpc-macro-legend span{display:inline-flex;gap:6px;align-items:center}
.rcpc .rcpc-macro-legend span::before{content:"";width:9px;height:9px;border-radius:3px;background:currentColor}
.rcpc .rcpc-macro-legend [data-macro-label=protein]::before{background:var(--rcpc-accent)}
.rcpc .rcpc-macro-legend [data-macro-label=carbs]::before{background:color-mix(in srgb,var(--rcpc-accent) 57%,currentColor)}
.rcpc .rcpc-macro-legend [data-macro-label=fat]::before{background:color-mix(in srgb,var(--rcpc-accent) 30%,currentColor)}
@media(prefers-reduced-motion:reduce){.rcpc .rcpc-macro-part{transition:none}}
