/* ============================================================
   BRIDGE TO THE CORE BLOCKS — shared by both style variants
   The prototype was hand written markup, the sections are block
   patterns now. These rules absorb the extra wrappers that group,
   image and button blocks bring along.

   Only what is variant neutral lives here: structure, the arrow and
   the sizes that both designs share. Colours and the *look* of the
   button variants stay in sections.css (warm) and
   shop-sections.css (neon), next to the .btn rules they mirror.
   ============================================================ */
:root{
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}

/* With theme.json active, group blocks no longer add an inner container;
   this rule catches older content. */
.wp-block-group > .wp-block-group__inner-container{ display:contents; }

/* Button blocks in the look of .btn. The base values (colour, radius,
   padding) come from theme.json; variants, sizes and the arrow the prototype
   carried as an inline SVG follow here and in the variant stylesheets. The
   variants are named is-* on purpose, so they do not collide with the
   .btn--* rules of the prototype. */
.wp-block-buttons{ display:flex; gap:14px; flex-wrap:wrap; }
.wp-block-button__link{ display:inline-flex; align-items:center; gap:10px; white-space:nowrap;
  transition:transform .35s var(--ease), background .3s, color .3s, box-shadow .3s, border-color .3s; }
.wp-block-button.is-block{ width:100%; }
.wp-block-button.is-block > .wp-block-button__link{ width:100%; justify-content:center; }
.wp-block-button.has-arrow > .wp-block-button__link::after,
.link-arrow-p a::after{ content:""; width:18px; height:18px; flex:none; background:currentColor;
  -webkit-mask:var(--arrow) center/contain no-repeat; mask:var(--arrow) center/contain no-repeat;
  transition:transform .35s var(--ease); }
.wp-block-button.has-arrow > .wp-block-button__link:hover::after,
.link-arrow-p a:hover::after{ transform:translateX(4px); }

/* Arrow link as a paragraph, so text and target stay editable in the editor. */
.link-arrow-p{ margin:0; }
.link-arrow-p a{ display:inline-flex; align-items:center; gap:9px; width:fit-content;
  font-weight:600; font-size:15px; text-decoration:none; transition:.3s var(--ease); }

/* Core gallery (Galerija page): layout and columns stay with the core block,
   only the look follows the design — rounded tiles, the card shadow and the
   16 px gap the grids of the prototype use. The gap variable has to move with
   it, the core width calculation subtracts it. */
.wp-block-gallery{ --wp--style--unstable-gallery-gap:16px; gap:16px; }
.wp-block-gallery.has-nested-images figure.wp-block-image{ border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-sm); }
.wp-block-gallery.has-nested-images figure.wp-block-image img{ transition:transform .6s var(--ease); }
.wp-block-gallery.has-nested-images figure.wp-block-image:hover img{ transform:scale(1.04); }
