{"version":3,"file":"blocks/SocialIcons/style-index.css","mappings":";;;AAAA,gBAAgB;AAAhB;;;;;;;;;;EAAA;AAYA;EACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;AAAF;AAEE;EACE;AAAJ;AAGE;EACE;AADJ;AAIE;EACE;EACA;EACA;AAFJ;AAKE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,4EACE;AAJN;AAQI;EACE;EACA;EACA;AANN;AAYE;EACE;EACA;EACA;EACA;AAVJ;AAaE;EACE;EACA;AAXJ;AAgBE;EACE;EACA;AAdJ;AAiBE;EAGE;AAjBJ;AAsBE;EAGE;AAtBJ;AAyBE;EACE;AAvBJ;AA0BE;EACE;AAxBJ;AA2BE;EACE;AAzBJ;AA6CE;EACE;EACA;AA3CJ;AA8CE;EACE;EAIA;AA/CJ;AAkDE;EACE;EACA;AAhDJ;AAmDE;EACE;EACA;AAjDJ;AAoDE;EACE;EACA;AAlDJ;AAqDE;;EAEE;EACA;AAnDJ;AAyDE;EACE;EACA;AAvDJ;;AA6DA;EACE;EACA;EACA;AA1DF,C","sources":["webpack://brandy-blocks/./src/blocks/SocialIcons/style.scss"],"sourcesContent":["/**\n * Social Icons — shared by the editor preview and the front end.\n *\n * All sizing/colour comes in as custom properties set on the wrapper by\n * `styles.js::getEditorStyles` (editor) and `SocialIcons::get_wrapper_style`\n * (frontend), so one stylesheet serves both runtimes.\n *\n * `--brandy-social-brand` is set per <li> in brand mode; the other variables\n * live on the wrapper. Fallbacks in the var() calls are what make \"unset\"\n * behave sensibly instead of collapsing to nothing.\n */\n\n.brandy-social-icons {\n  --brandy-social-icon-size: 20px;\n  --brandy-social-gap: 8px;\n  --brandy-social-padding: 0.6em;\n\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--brandy-social-gap);\n  margin: 0;\n  padding: 0;\n  list-style: none;\n\n  &.is-justified-center {\n    justify-content: center;\n  }\n\n  &.is-justified-right {\n    justify-content: flex-end;\n  }\n\n  &__item {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n  }\n\n  &__link {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 0.5em;\n    box-sizing: border-box;\n    text-decoration: none;\n    line-height: 1;\n    transition:\n      color 0.2s ease,\n      background-color 0.2s ease,\n      transform 0.2s ease;\n\n    i {\n      display: block;\n      font-size: var(--brandy-social-icon-size);\n      line-height: 1;\n    }\n  }\n\n  // Services with no Phosphor glyph render an inline mark instead. Sized off\n  // the same variable as the icon font so the two are interchangeable in a row.\n  &__svg {\n    display: block;\n    width: var(--brandy-social-icon-size);\n    height: var(--brandy-social-icon-size);\n    fill: currentColor;\n  }\n\n  &__label {\n    font-size: 0.9em;\n    white-space: nowrap;\n  }\n\n  // Shapes. `none` keeps the bare glyph with no padded hit area; the rest pad\n  // the link out into a tappable tile.\n  &.is-shape-none .brandy-social-icons__link {\n    padding: 0;\n    background: none;\n  }\n\n  &.is-shape-rounded .brandy-social-icons__link,\n  &.is-shape-circle .brandy-social-icons__link,\n  &.is-shape-square .brandy-social-icons__link {\n    padding: var(--brandy-social-padding);\n  }\n\n  // Only icon-only tiles are forced square — with a visible label the tile has\n  // to grow horizontally or the text is clipped.\n  &:not(.has-labels).is-shape-rounded .brandy-social-icons__link,\n  &:not(.has-labels).is-shape-circle .brandy-social-icons__link,\n  &:not(.has-labels).is-shape-square .brandy-social-icons__link {\n    aspect-ratio: 1;\n  }\n\n  &.is-shape-rounded .brandy-social-icons__link {\n    border-radius: 8px;\n  }\n\n  &.is-shape-circle .brandy-social-icons__link {\n    border-radius: 999px;\n  }\n\n  &.is-shape-square .brandy-social-icons__link {\n    border-radius: 0;\n  }\n\n  // Colour modes each resolve to the same two variables, so the hover rule\n  // below can be written once with a fallback to the resting value. Without\n  // that indirection an unset hover colour would fall back to `inherit` and\n  // silently change the resting appearance on hover.\n  //\n  // brand  — glyph takes the platform colour; a shaped tile flips to a coloured\n  //          background with a white glyph, the recognisable treatment.\n  // custom — author-set colours.\n  // inherit— follows surrounding text so it blends into a footer or a card.\n  //\n  // THESE MUST BE DECLARED ON THE LINK, NOT THE LIST.\n  // --brandy-social-brand is set per <li> (each service has its own colour),\n  // and a var() is substituted against the element the declaration applies to.\n  // Declared on the <ul> these resolved --brandy-social-brand where it is unset\n  // and silently fell back: a shaped brand tile got background-color:currentColor\n  // under color:#fff, i.e. a white glyph on a white background — the whole block\n  // rendered invisible in both the editor and the front end.\n  &.is-color-brand .brandy-social-icons__link {\n    --brandy-social-fg: var(--brandy-social-brand, currentColor);\n    --brandy-social-bg-resolved: transparent;\n  }\n\n  &.is-color-brand:not(.is-shape-none) .brandy-social-icons__link {\n    --brandy-social-fg: #fff;\n    // Neutral grey rather than currentColor as the fallback: if the brand\n    // variable ever goes missing this must not collapse back into\n    // \"background matches the glyph colour\".\n    --brandy-social-bg-resolved: var(--brandy-social-brand, #4b5563);\n  }\n\n  &.is-color-custom .brandy-social-icons__link {\n    --brandy-social-fg: var(--brandy-social-color, currentColor);\n    --brandy-social-bg-resolved: var(--brandy-social-bg, transparent);\n  }\n\n  &.is-color-inherit .brandy-social-icons__link {\n    --brandy-social-fg: currentColor;\n    --brandy-social-bg-resolved: transparent;\n  }\n\n  .brandy-social-icons__link {\n    color: var(--brandy-social-fg, currentColor);\n    background-color: var(--brandy-social-bg-resolved, transparent);\n  }\n\n  .brandy-social-icons__link:hover,\n  .brandy-social-icons__link:focus-visible {\n    color: var(--brandy-social-hover-color, var(--brandy-social-fg, currentColor));\n    background-color: var(\n      --brandy-social-hover-bg,\n      var(--brandy-social-bg-resolved, transparent)\n    );\n  }\n\n  .brandy-social-icons__link:focus-visible {\n    outline: 2px solid currentColor;\n    outline-offset: 2px;\n  }\n}\n\n// Editor-only: a child with no URL yet would be invisible on the front end, so\n// mark it in the canvas rather than letting the author think it is configured.\n.brandy-social-icons__item.is-empty .brandy-social-icons__link {\n  opacity: 0.45;\n  outline: 1px dashed currentColor;\n  outline-offset: 2px;\n}\n"],"names":[],"sourceRoot":""}