/* Gwydir Goats — component classes for the Joomla template.
   Plain CSS, BEM-ish, built on the custom properties in styles.css / tokens/.
   Uses logical properties (inline-start/end) so Arabic RTL mirrors automatically. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-heading);font-family:var(--font-ui)}
a{color:var(--accent)}a:hover{color:var(--accent-hover)}
img{max-width:100%}
.gg-container{max-width:var(--page-max);margin:0 auto}
.gg-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gg-logo--dark{display:none}
[data-theme="dark"] .gg-logo--light{display:none}
[data-theme="dark"] .gg-logo--dark{display:block}
[dir="rtl"] .gg-icon--dir{transform:scaleX(-1)}

/* Language strip — mod_languages */
.gg-langs{background:var(--surface-tint);border-bottom:1px solid var(--border-hairline);padding:9px 26px}
.gg-langs__list{list-style:none;margin:0;padding:0;display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}
.gg-langs__link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;white-space:nowrap;font-size:var(--type-nav-size);color:var(--text-body);padding:6px 10px;min-height:32px;border-bottom:var(--rule-active) solid transparent;transition:var(--transition-control)}
.gg-langs__link:hover{color:var(--text-heading)}
.gg-langs__item--active .gg-langs__link{color:var(--text-heading);border-bottom-color:var(--accent)}
.gg-langs__flag{width:20px;height:14px;border-radius:var(--radius-flag);display:block;flex:none}

/* Header — mod_menu */
.gg-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 28px;border-bottom:1px solid var(--border-hairline);background:var(--surface-page);flex-wrap:wrap}
.gg-header__logo{display:flex}
.gg-header__logo img{width:168px;height:auto}
.gg-nav{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-size:var(--type-nav-size);letter-spacing:var(--type-nav-track);text-transform:uppercase}
.gg-nav__link{text-decoration:none;color:var(--text-body);border-bottom:var(--rule-active) solid transparent;padding-bottom:3px;transition:var(--transition-control)}
.gg-nav__link:hover{color:var(--accent)}
.gg-nav__item--active .gg-nav__link{color:var(--text-heading);border-bottom-color:var(--accent)}

/* Type */
.gg-eyebrow{margin:0;font-size:var(--type-eyebrow-size);font-weight:var(--weight-medium);letter-spacing:var(--type-eyebrow-track);text-transform:uppercase;color:var(--accent)}
.gg-label{margin:0;font-size:var(--type-label-size);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted)}
.gg-h1{margin:0;font-size:var(--type-h1-size);font-weight:var(--weight-medium);letter-spacing:var(--type-h1-track);line-height:var(--type-h1-line);color:var(--text-heading)}
.gg-h2{margin:0;font-size:var(--type-h2-size);font-weight:var(--weight-medium);letter-spacing:var(--type-h2-track);line-height:var(--type-h2-line);color:var(--text-heading)}
.gg-h3{margin:0;font-size:var(--type-h3-size);font-weight:var(--weight-medium);line-height:var(--type-h3-line);color:var(--text-heading)}
.gg-lead{margin:0;font-family:var(--font-body);font-size:var(--type-lead-size);line-height:var(--type-lead-line);color:var(--text-body);max-width:var(--measure-lead);text-wrap:pretty}
.gg-prose{font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-body);max-width:var(--measure-body);text-wrap:pretty}
.gg-prose p{margin:0 0 1em}.gg-prose p:last-child{margin-bottom:0}
.gg-caption{margin:0;font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-muted)}
.gg-more{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--accent);display:inline-flex;align-items:center;gap:7px}
.gg-more .gg-icon{font-size:17px}

/* Buttons */
.gg-btn{font-family:var(--font-ui);font-size:var(--type-button-size);font-weight:var(--weight-medium);letter-spacing:var(--type-button-track);text-transform:uppercase;border-radius:var(--radius);padding:14px 26px;min-height:var(--touch-min);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:var(--transition-control)}
.gg-btn .gg-icon{font-size:18px}
.gg-btn--primary{color:var(--accent-text-on);background:var(--accent);border-color:var(--accent)}
.gg-btn--primary:hover{color:var(--accent-text-on);background:var(--accent-hover);border-color:var(--accent-hover)}
.gg-btn--primary:active{background:color-mix(in oklab,var(--accent-hover) 82%,black);border-color:color-mix(in oklab,var(--accent-hover) 82%,black)}
.gg-btn--secondary{color:var(--text-heading);background:transparent;border-color:var(--border-divider)}
.gg-btn--secondary:hover{color:var(--text-heading);background:var(--surface-tint);border-color:var(--accent)}
.gg-btn--tertiary{color:var(--accent);background:none;border:0;border-bottom:1px solid var(--border-divider);border-radius:0;padding:6px 0;min-height:0}
.gg-btn--tertiary:hover{border-bottom-color:var(--accent)}
.gg-btn:disabled,.gg-btn--disabled{color:var(--control-disabled-text);background:var(--control-disabled-bg);border-color:var(--control-disabled-bg);cursor:default;pointer-events:none}
.gg-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* Layout */
.gg-section{padding:44px 40px;display:flex;flex-direction:column;gap:22px}
.gg-section--ruled{border-top:1px solid var(--border-hairline)}
.gg-section--tight{padding-top:0}
.gg-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.gg-page-head{display:flex;flex-direction:column;gap:14px}
.gg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gutter-grid);align-items:start}
.gg-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gg-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gg-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
.gg-split__text{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.gg-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}

/* Hero */
.gg-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.gg-hero__copy{padding:56px 40px;display:flex;flex-direction:column;gap:22px;justify-content:center}
.gg-hero__title{margin:0;font-size:var(--type-hero-size);font-weight:var(--weight-medium);letter-spacing:var(--type-hero-track);line-height:var(--type-hero-line);color:var(--text-heading);text-wrap:pretty}
.gg-hero__intro{margin:0;font-family:var(--font-body);font-size:18px;line-height:1.65;color:var(--text-body);max-width:46ch;text-wrap:pretty}
.gg-hero .gg-actions{padding-top:4px}
.gg-hero .gg-hero__media{min-height:420px;aspect-ratio:auto;border-radius:0;padding:18px}

/* Photograph frame */
.gg-media{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--placeholder-hatch);display:flex;align-items:flex-end;padding:14px;aspect-ratio:var(--ratio-gallery)}
.gg-media--hero{aspect-ratio:var(--ratio-hero)}
.gg-media--portrait{aspect-ratio:var(--ratio-portrait)}
.gg-media--thumb{aspect-ratio:var(--ratio-thumb)}
.gg-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gg-media__note{font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);background:var(--surface-card);padding:4px 7px}
.gg-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gutter-gallery)}

/* Badge */
.gg-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gg-badge{font-size:var(--type-badge-size);letter-spacing:var(--type-badge-track);text-transform:uppercase;white-space:nowrap;border-radius:var(--radius);padding:5px 9px;color:var(--accent-text-on);background:var(--accent)}
.gg-badge--ink{color:var(--surface-page);background:var(--text-heading)}
.gg-badge--outline{color:var(--text-body);background:none;border:1px solid var(--border-divider);padding:4px 9px}

/* Goat card — com_content category blog item */
.gg-card{position:relative;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.gg-card .gg-media{border-radius:0}
.gg-card__body{padding:var(--pad-card);display:flex;flex-direction:column;gap:var(--space-6)}
.gg-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gg-card__name{margin:0;font-size:20px;font-weight:var(--weight-medium);color:var(--text-heading)}
.gg-card__tag{font-size:12px;letter-spacing:0.1em;color:var(--text-muted);font-variant-numeric:tabular-nums}
.gg-card__more{font-size:13px;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;color:var(--accent);display:inline-flex;align-items:center;gap:7px;padding-top:4px}
.gg-card__more .gg-icon{font-size:17px}
.gg-card__more::after{content:"";position:absolute;inset:0}
.gg-card .gg-badges{padding-top:4px}
.gg-facts{margin:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-body)}
.gg-facts>div{display:flex;justify-content:space-between;gap:12px}
.gg-facts dt{color:var(--text-muted)}
.gg-facts dd{margin:0;font-variant-numeric:tabular-nums}
.gg-facts--inline{flex-direction:row;flex-wrap:wrap;gap:8px 22px}
.gg-facts--inline>div{justify-content:flex-start;gap:8px}
.gg-card--inline .gg-badges{padding-top:0}

/* Goat row */
.gg-row{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius);padding:var(--space-9);display:flex;gap:18px;align-items:center;text-decoration:none;transition:var(--transition-control)}
.gg-row:hover{border-color:var(--border-divider)}
.gg-row__thumb{width:84px;height:84px;flex:none;border-radius:var(--radius);overflow:hidden;background:var(--placeholder-hatch)}
.gg-row__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gg-row__text{display:flex;flex-direction:column;gap:5px;min-width:0}
.gg-row__name{font-size:17px;font-weight:var(--weight-medium);color:var(--text-heading)}
.gg-row__tag{color:var(--text-muted);font-size:13px;font-weight:var(--weight-regular);font-variant-numeric:tabular-nums}
.gg-row__summary{font-size:13px;color:var(--text-body)}
.gg-row__paddock{font-size:12px;color:var(--text-muted)}
.gg-row__arrow{margin-inline-start:auto;color:var(--accent);font-size:22px}

/* Stat tile */
.gg-stat{margin:0;background:var(--clay);border-radius:var(--radius);padding:var(--space-8);display:flex;flex-direction:column;gap:6px}
.gg-stat__value{margin:0;font-size:var(--type-figure-size);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;color:var(--ink)}
.gg-stat__unit{font-size:18px;color:var(--loam)}
.gg-stat__label{margin:0;font-size:var(--type-label-size);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--loam)}
.gg-stat--coal{background:var(--coal)}
.gg-stat--coal .gg-stat__value{color:var(--paper)}
.gg-stat--coal .gg-stat__unit,.gg-stat--coal .gg-stat__label{color:var(--oat)}

/* Herd book table — com_content category list */
.gg-table-wrap{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius);padding:8px 22px 18px;overflow-x:auto}
.gg-table{width:100%;border-collapse:collapse;font-size:14px}
.gg-table th{text-align:start;font-size:10.5px;font-weight:var(--weight-medium);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted);padding:14px 10px;border-bottom:1px solid var(--border-divider);white-space:nowrap}
.gg-table td{padding:13px 10px;border-bottom:1px solid var(--border-hairline);color:var(--text-body)}
.gg-table tbody tr:last-child td{border-bottom:0}
.gg-table td:first-child{font-weight:var(--weight-medium);color:var(--text-heading)}
.gg-table td:first-child a{color:inherit;text-decoration:none}
.gg-table td:first-child a:hover{color:var(--accent)}
.gg-table .is-num{text-align:end;font-variant-numeric:tabular-nums;color:var(--text-heading)}
.gg-table .is-empty{color:var(--text-muted)}

/* Herd toolbar */
.gg-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--border-hairline);padding-bottom:16px}
.gg-toolbar__end{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.gg-tabs{list-style:none;margin:0;padding:0;display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase}
.gg-tabs--small{gap:10px}
.gg-tabs__link{text-decoration:none;color:var(--text-body);border-bottom:var(--rule-active) solid transparent;padding-bottom:3px;transition:var(--transition-control)}
.gg-tabs__link:hover{color:var(--accent)}
.gg-tabs__item--active .gg-tabs__link{color:var(--text-heading);border-bottom-color:var(--accent)}
.gg-empty{margin:0;font-family:var(--font-body);font-size:var(--type-body-size);color:var(--text-muted)}

/* Goat profile — com_content article */
.gg-back{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;color:var(--accent);display:inline-flex;align-items:center;gap:7px;align-self:flex-start}
.gg-back .gg-icon{font-size:17px}
.gg-profile{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius);overflow:hidden;display:flex;flex-wrap:wrap}
.gg-profile__media{flex:1 1 340px;min-width:280px;display:flex}
.gg-profile__media .gg-media{flex:1;border-radius:0}
.gg-profile__body{flex:1 1 380px;padding:40px;display:flex;flex-direction:column;gap:20px}
.gg-profile__heading{display:flex;flex-direction:column;gap:8px}
.gg-profile__title{margin:0;font-size:38px;font-weight:var(--weight-medium);letter-spacing:-0.02em;line-height:1.1;color:var(--text-heading)}
.gg-profile__story{margin:0;font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-body);max-width:52ch;text-wrap:pretty}
.gg-record{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border-hairline);font-size:14px}
.gg-record>div{display:flex;justify-content:space-between;gap:12px;padding-block:12px;border-bottom:1px solid var(--border-hairline)}
.gg-record>div:nth-child(odd){padding-inline-end:14px}
.gg-record>div:nth-child(even){padding-inline-start:14px}
.gg-record dt{color:var(--text-muted)}
.gg-record dd{margin:0;font-variant-numeric:tabular-nums;color:var(--text-heading)}
.gg-record dd.is-empty{color:var(--text-muted)}

/* Forms — com_contact */
.gg-panel{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius);padding:28px}
.gg-form{display:flex;flex-direction:column;gap:16px;align-items:stretch}
.gg-form .gg-btn{align-self:flex-start}
.gg-field{display:flex;flex-direction:column;gap:7px}
.gg-field__label{font-size:var(--type-label-size);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-body)}
.gg-input{font-family:var(--font-ui);font-size:15px;color:var(--text-heading);background:var(--surface-page);border:1px solid var(--border-divider);border-radius:var(--radius);padding:13px 14px;min-height:var(--touch-min);width:100%;outline:none;transition:var(--transition-control)}
.gg-input:focus{background:var(--surface-card);border-color:var(--focus-ring)}
textarea.gg-input{min-height:110px;resize:vertical;line-height:1.5}
.gg-field--invalid .gg-field__label{color:var(--accent)}
.gg-field--invalid .gg-input{border-color:var(--focus-ring)}
.gg-check{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-body);font-size:var(--type-small-size);line-height:1.55;color:var(--text-body)}
.gg-check input{width:18px;height:18px;accent-color:var(--accent);margin:2px 0 0;flex:none}
.gg-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text-body)}
.gg-contact-list li{display:flex;align-items:center;gap:10px}
.gg-contact-list .gg-icon{font-size:20px;color:var(--text-muted)}
.gg-stack{display:flex;flex-direction:column;gap:18px}

/* Footer */
.gg-footer{padding:var(--space-12);border-top:1px solid var(--border-hairline);display:flex;flex-direction:column;gap:var(--space-9);background:var(--surface-page)}
.gg-footer__top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.gg-footer__logo img{width:260px;height:auto}
.gg-footer__contact{font-style:normal;font-size:12.5px;line-height:1.9;color:var(--text-body);text-align:end}
.gg-footer__contact a{color:inherit;text-decoration:none}
.gg-footer__note{color:var(--text-muted)}
.gg-footer__rule{height:1px;margin:0;border:0;background:var(--border-hairline)}
.gg-footer__bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}

/* Responsive */
@media (max-width:900px){
  .gg-hero,.gg-split,.gg-columns{grid-template-columns:minmax(0,1fr)}
  .gg-hero .gg-hero__media{min-height:280px}
  .gg-grid,.gg-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gg-section{padding:32px 22px}
  .gg-hero__copy{padding:40px 22px}
  .gg-header{padding:14px 22px;gap:16px}
  .gg-langs{padding:8px 16px}
  .gg-footer{padding:32px 22px}
  .gg-footer__contact{text-align:start}
  .gg-profile__body{padding:26px}
}
@media (max-width:560px){
  .gg-grid,.gg-grid--2{grid-template-columns:minmax(0,1fr)}
  .gg-record{grid-template-columns:minmax(0,1fr)}
  .gg-record>div:nth-child(n){padding-inline:0}
  .gg-hero__title{font-size:36px}
}
