/* =========================================================
   Sitara Feed Industry – additions for the dynamic (ASP.NET Core) site.
   The original css/style.css is used unchanged; only new states live here.
   ========================================================= */


/* Honeypot field for spam bots – never visible to people */
.hp-field{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* Form submit button while the AJAX request is running */
.btn-send[disabled]{opacity:.75;cursor:wait}
.btn-send.is-loading .fa-paper-plane{animation:sfi-fly 1s ease-in-out infinite}
@keyframes sfi-fly{0%,100%{transform:translateX(0)}50%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.btn-send.is-loading .fa-paper-plane{animation:none}}

/* Server error message under a form */
.form-msg.is-error{background:#fdecec;color:var(--red-dark);border-color:#f5c6c8}

/* Blog list while new results are loading */
.bl-grid.is-loading{opacity:.55;transition:opacity .2s}

/* Image captcha on the contact form (same look as the other form fields) */
.cap-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cap-img{width:150px;height:50px;flex:none;border:1px solid #dcdcdc;border-radius:8px;background:#f4f6f3;object-fit:cover}
.cap-refresh{width:46px;height:46px;flex:none;border:1px solid #dcdcdc;border-radius:8px;background:#fff;color:var(--green);cursor:pointer;font-size:16px;transition:border-color .2s,background .2s}
.cap-refresh:hover{border-color:var(--green-2);background:#f3faf5}
.cap-row input{flex:1 1 160px;min-width:0;letter-spacing:.25em;font-weight:600;text-transform:uppercase}
.cap-row input::placeholder{letter-spacing:normal;font-weight:400;text-transform:none}
.field.error .cap-row input{border-color:var(--red)}

/* 404 / error page */
.err-page{position:relative;overflow:hidden;padding:70px 0 80px;background:linear-gradient(180deg,#f3faf5 0%,#fff 70%)}
.err-page .container{position:relative;text-align:center;max-width:820px;margin:0 auto}
.err-code{font-size:clamp(96px,18vw,170px);font-weight:900;line-height:1;letter-spacing:-.04em;margin:0;
  background:linear-gradient(135deg,var(--green) 0%,#1d7a3a 55%,var(--red) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.err-page h1{font-size:clamp(24px,3.4vw,34px);margin:6px 0 10px;color:#1f1f1f}
.err-page .lead{color:#555;font-size:16px;max-width:560px;margin:0 auto 26px}
.err-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:34px}
.err-search{display:flex;max-width:520px;margin:0 auto 38px;border:1px solid #dcdcdc;border-radius:50px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.05)}
.err-search input{flex:1;border:0;outline:0;padding:0 20px;height:52px;font-size:15px;min-width:0}
.err-search button{border:0;background:var(--green);color:#fff;padding:0 22px;font-weight:600;cursor:pointer}
.err-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;text-align:left}
.err-links a{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e8ece9;border-radius:12px;background:#fff;color:#1f1f1f;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s}
.err-links a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(13,91,43,.1);border-color:#cfe5d6}
.err-links i{width:40px;height:40px;flex:none;border-radius:10px;display:grid;place-items:center;background:#e8f4ec;color:var(--green)}
.err-links small{display:block;font-weight:400;color:#777;font-size:12.5px}

/* Pages added in the admin (Pages) – content pasted into one editor */
.cms-sec{padding:28px 0 48px;background:linear-gradient(180deg,#fff 0%,#fcfaf5 100%)}
.cms-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid #efece4;border-radius:14px;padding:22px 18px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.cms-card>:first-child{margin-top:0}
.cms-card img,.legal-block img,.legal-intro img{max-width:100%;height:auto;border-radius:10px}
.cms-card table,.legal-block>table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;font-size:14px}
.cms-card th,.cms-card td,.legal-block>table th,.legal-block>table td{border:1px solid var(--border);padding:10px 14px;text-align:left;vertical-align:top}
.cms-card th,.legal-block>table th{background:var(--green);color:#fff;font-weight:600}
.cms-card blockquote{border-left:4px solid var(--gold);background:var(--cream);padding:14px 18px;border-radius:0 10px 10px 0}
@media (min-width:768px){.cms-sec{padding:44px 0 64px}.cms-card{padding:34px 40px}}

/* Legal pages: plain lists / sub headings as pasted from Word or Google Docs */
.legal-block ul:not([class]) li,.legal-block ol:not([class]) li{position:relative;padding-left:28px;font-size:15px;color:#3a3a3a;line-height:1.7}
.legal-block ul:not([class]) li+li,.legal-block ol:not([class]) li+li{margin-top:6px}
.legal-block ul:not([class]) li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--cream-2);color:var(--green-2);font-size:9px;display:grid;place-items:center}
.legal-block ol:not([class]){list-style:none;counter-reset:lg}
.legal-block ol:not([class]) li{counter-increment:lg}
.legal-block ol:not([class]) li::before{content:counter(lg) ".";position:absolute;left:2px;top:0;font-weight:700;color:var(--green-2)}
.legal-block h3{font-size:17px;font-weight:600;color:var(--green);margin-top:18px}
.legal-intro{margin-bottom:18px}
.legal-intro>p{font-size:15px;color:#3a3a3a;line-height:1.8}
.legal-main.full{grid-column:1/-1}

/* Team cards (About page): social links of a member – only the filled ones are shown */
.tcard .tsoc{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}
.tcard .tsoc a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#fff;transition:transform .2s,box-shadow .2s}
.tcard .tsoc a:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.15)}
.tcard .tsoc .fb{background:#1877f2}.tcard .tsoc .ig{background:#e1306c}.tcard .tsoc .in{background:#0a66c2}
.tcard .tsoc .x{background:#111}.tcard .tsoc .yt{background:#ff0000}.tcard .tsoc .wa{background:#25d366}.tcard .tsoc .em{background:var(--green)}

/* Responsive fixes (phones)
   - Legal pages: a wide table (e.g. "Cookies used") scrolls inside its box instead of widening the whole page
   - Contact page: social buttons go one per row on very small phones (320 px) so "Instagram" / "WhatsApp" fit */
.legal-body{grid-template-columns:minmax(0,1fr)}
@media (max-width:575px){.ss-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:359px){.ss-links{grid-template-columns:minmax(0,1fr)}}

/* Sitemap page (/sitemap) */
.sm-sec{padding:34px 0 50px;background:linear-gradient(180deg,#fff 0%,#fcfaf5 100%)}
.sm-grid{columns:1;column-gap:20px}
.sm-card{break-inside:avoid;margin-bottom:20px;background:#fff;border:1px solid #efece4;border-radius:14px;padding:20px 20px 16px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.sm-card h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:19px;color:var(--green)}
.sm-card h2 .ic{width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--cream-2);color:var(--green);font-size:16px}
.sm-card h2 .n{margin-left:auto;min-width:28px;padding:2px 9px;border-radius:20px;background:var(--cream);color:var(--green-2);font-size:12px;font-weight:600;text-align:center}
.sm-card h3{margin:16px 0 6px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.sm-card h3 a{color:var(--red)}
.sm-card h3 a:hover{color:var(--green)}
.sm-list{list-style:none;margin:0;padding:0}
.sm-list li{position:relative;padding:7px 0 7px 22px;border-top:1px dashed #ece7da;font-size:15px;line-height:1.45}
.sm-list li:first-child{border-top:0}
.sm-list li::before{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:2px;top:10px;font-size:10px;color:var(--gold)}
.sm-list a{color:#2b2b2b;font-weight:500}
.sm-list a:hover{color:var(--green);text-decoration:underline}
.sm-list small{display:block;color:#888;font-size:12.5px}
.sm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #efece4}
.sm-chips a{padding:5px 12px;border-radius:20px;background:var(--cream);color:var(--green);font-size:13px;font-weight:600}
.sm-chips a:hover{background:var(--green);color:#fff}
.sm-all{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--green-2)}
.sm-all:hover{color:var(--red)}
.sm-xml{margin:6px 0 0;text-align:center;color:#777;font-size:13.5px}
.sm-xml a{color:var(--green);font-weight:600}
@media (min-width:768px){.sm-sec{padding:50px 0 70px}.sm-grid{columns:2}}
@media (min-width:1200px){.sm-grid{columns:3}}

/* Images get their real width/height from the server (no layout shift while loading);
   the shown size still comes from the CSS above, the height follows the width */
:where(img[width][height]){height:auto}
